From c082848897de3421824d591ff9f8484c5a8d38c5 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 17 Feb 2005 07:12:31 +0300 Subject: [PATCH 001/124] A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode, as currently ONLY_FULL_GROUP_BY mode is overly restrictive. mysql-test/r/ansi.result: A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode. mysql-test/t/ansi.test: A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode. sql/set_var.cc: A "fix" for problem discovered in BUG#8510: remove ONLY_FULL_GROUP_BY mode from ANSI mode. --- mysql-test/r/ansi.result | 4 ++-- mysql-test/t/ansi.test | 3 ++- sql/set_var.cc | 8 +++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/ansi.result b/mysql-test/r/ansi.result index 0b86634f67b..212d28f918b 100644 --- a/mysql-test/r/ansi.result +++ b/mysql-test/r/ansi.result @@ -6,7 +6,7 @@ NO_FIELD_OPTIONS,MYSQL40 set @@sql_mode="ANSI"; select @@sql_mode; @@sql_mode -REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI SELECT 'A' || 'B'; 'A' || 'B' AB @@ -14,6 +14,6 @@ CREATE TABLE t1 (id INT, id2 int); SELECT id,NULL,1,1.1,'a' FROM t1 GROUP BY id; id NULL 1 1.1 a SELECT id FROM t1 GROUP BY id2; -ERROR 42000: 'test.t1.id' isn't in GROUP BY +id drop table t1; SET @@SQL_MODE=""; diff --git a/mysql-test/t/ansi.test b/mysql-test/t/ansi.test index faf20f1e57e..9d235df5b46 100644 --- a/mysql-test/t/ansi.test +++ b/mysql-test/t/ansi.test @@ -19,7 +19,8 @@ SELECT 'A' || 'B'; CREATE TABLE t1 (id INT, id2 int); SELECT id,NULL,1,1.1,'a' FROM t1 GROUP BY id; ---error 1055 +#No --error 1055 error due to temporary fix for BUG#8510: +#ONLY_FULL_GROUP_BY is overly restrictive, so remove it from ANSI mode. SELECT id FROM t1 GROUP BY id2; drop table t1; diff --git a/sql/set_var.cc b/sql/set_var.cc index ca7987d2636..605480cb72f 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -3089,8 +3089,14 @@ ulong fix_sql_mode(ulong sql_mode) */ if (sql_mode & MODE_ANSI) + { sql_mode|= (MODE_REAL_AS_FLOAT | MODE_PIPES_AS_CONCAT | MODE_ANSI_QUOTES | - MODE_IGNORE_SPACE | MODE_ONLY_FULL_GROUP_BY); + MODE_IGNORE_SPACE); + /* + MODE_ONLY_FULL_GROUP_BY removed from ANSI mode because it is currently + overly restrictive (see BUG#8510). + */ + } if (sql_mode & MODE_ORACLE) sql_mode|= (MODE_PIPES_AS_CONCAT | MODE_ANSI_QUOTES | MODE_IGNORE_SPACE | From ecde7832dd953ab3b18ea5cb2a8abf28f2874481 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 21 Feb 2005 14:04:54 +0100 Subject: [PATCH 002/124] Fix so that ndb-cache-check-time is measured in milliseconds sql/ha_ndbcluster.cc: Use ndb-cache-check-time as millsecond interval sql/mysqld.cc: Change name of variable ndb-cache-check_time to use - instead of _ --- sql/ha_ndbcluster.cc | 13 +++++++++++-- sql/mysqld.cc | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 62bc1cc41b9..297c36580d6 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -5746,7 +5746,7 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, } List util_open_tables; - set_timespec(abstime, ndb_cache_check_time); + set_timespec(abstime, 0); for (;;) { @@ -5764,12 +5764,21 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, if (ndb_cache_check_time == 0) { + /* Wake up in 10 seconds to check if value has changed */ set_timespec(abstime, 10); continue; } /* Set new time to wake up */ - set_timespec(abstime, ndb_cache_check_time); + struct timeval tv; + gettimeofday(&tv,0); + abstime.tv_sec= tv.tv_sec + (ndb_cache_check_time / 1000); + abstime.tv_nsec= tv.tv_usec * 1000 + (ndb_cache_check_time % 1000); + if (abstime.tv_nsec >= 1000000000) + { + abstime.tv_sec += 1; + abstime.tv_nsec -= 1000000000; + } /* Lock mutex and fill list with pointers to all open tables */ NDB_SHARE *share; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 9559ed55b3c..4ffe40155d6 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4646,8 +4646,8 @@ Disable with --skip-ndbcluster (will save memory).", (gptr*) &opt_ndb_optimized_node_selection, (gptr*) &opt_ndb_optimized_node_selection, 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0}, - { "ndb_cache_check_time", OPT_NDB_CACHE_CHECK_TIME, - "A dedicated thread is created to update cached commit count value at the given interval.", + { "ndb-cache-check-time", OPT_NDB_CACHE_CHECK_TIME, + "A dedicated thread is created to update cached commit count value at the given interval(milliseconds).", (gptr*) &opt_ndb_cache_check_time, (gptr*) &opt_ndb_cache_check_time, 0, GET_ULONG, REQUIRED_ARG, 0, 0, LONG_TIMEOUT, 0, 1, 0}, #endif From e1977075445232633a2d71f179daf393e2aa53ea Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 2 Mar 2005 12:19:44 -0800 Subject: [PATCH 003/124] Create directory for UNIX socket in mysqld_safe if it doesn't already exist. (Bug #8513) scripts/mysqld_safe.sh: Create directory for UNIX socket if it doesn't exist --- scripts/mysqld_safe.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index f6b0169d230..308db270828 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -150,6 +150,15 @@ parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysq parse_arguments PICK-ARGS-FROM-ARGV "$@" safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}} +# Make sure that directory for $safe_mysql_unix_port exists +mysql_unix_port_dir=`dirname $safe_mysql_unix_port` +if [ ! -d $mysql_unix_port_dir ] +then + mkdir $mysql_unix_port_dir + chown $user $mysql_unix_port_dir +fi + + if test ! -x $ledir/$MYSQLD then echo "The file $ledir/$MYSQLD doesn't exist or is not executable" From ae2542b63212719555901f7340de7f88691fb195 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 3 Mar 2005 13:04:44 +0100 Subject: [PATCH 004/124] Ensure that the tests with '--ps-protocol' and '--embedded-server' are taken even after the previous run had some failures, provided it did not totally crash. Build-tools/Do-compile: Change the search string for a test run from "tests were successful" to just "were successful", which is written by the test run even after some failures. This is necessary to start the next test suite ('--ps-protocol', '--embedded-server') even after the previous one had some test failures. mysql-test/mysql-test-run.sh: Change the message even after test failures so that it is fairly safe to identify the end of the run from it (as opposed to a crash of the script). It is essential that both a run without any and with some test failures write "were successful" so that it can be grepped. --- Build-tools/Do-compile | 6 +++--- mysql-test/mysql-test-run.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile index e7ab3357de9..f9074d113ff 100755 --- a/Build-tools/Do-compile +++ b/Build-tools/Do-compile @@ -392,13 +392,13 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest) info("Running test suite"); system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir); safe_cd("${test_dir}/mysql-test"); - check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); + check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "were successful"); unless ($opt_skip_ps_test) { log_timestamp(); info("Running test suite using prepared statements"); - check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); + check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "were successful"); } unless ($opt_skip_embedded_test) @@ -407,7 +407,7 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest) info("Running embedded server test suite"); # Embedded server and NDB don't jive $flags=~ s/ --with-ndbcluster//; - check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); + check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "were successful"); } # 'mysql-test-run' writes its own final message for log evaluation. } diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 8c484d2ddb1..d9172216919 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -833,7 +833,7 @@ report_stats () { whole=`$PRINTF %.2s $raw` xwhole=`$EXPR $whole \* 100` deci=`$EXPR $raw - $xwhole` - $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% successful." + $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% were successful." $ECHO "" $ECHO "The log files in $MY_LOG_DIR may give you some hint" $ECHO "of what when wrong." From 15b2175095501597ff018e37af00cc8808d8ae1c Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 4 Mar 2005 14:29:05 +0300 Subject: [PATCH 005/124] Fix for bug #8701: Server crash on 'set @@transaction_alloc_block_size=...' --- sql/set_var.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sql/set_var.cc b/sql/set_var.cc index ad8eaee10f2..8789d67271c 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -1315,10 +1315,12 @@ static void fix_thd_mem_root(THD *thd, enum_var_type type) static void fix_trans_mem_root(THD *thd, enum_var_type type) { +#ifdef USING_TRANSACTIONS if (type != OPT_GLOBAL) reset_root_defaults(&thd->transaction.mem_root, thd->variables.trans_alloc_block_size, thd->variables.trans_prealloc_size); +#endif } From 9104ca76a0f07513d22f241c1d562a2ed297fcb6 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 4 Mar 2005 19:16:14 +0100 Subject: [PATCH 006/124] typo fixed --- myisam/mi_create.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/myisam/mi_create.c b/myisam/mi_create.c index d07179f1799..19abb9ca745 100644 --- a/myisam/mi_create.c +++ b/myisam/mi_create.c @@ -522,7 +522,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, if (share.base.raid_type) { (void) fn_format(filename,name,"",MI_NAME_DEXT,2+4); - if ((dfile=my_raid_create(filename, 0, create_mode + if ((dfile=my_raid_create(filename, 0, create_mode, share.base.raid_type, share.base.raid_chunks, share.base.raid_chunksize, From 1220069c537a733b233c446e27aec9f9247aef31 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 4 Mar 2005 21:14:35 +0000 Subject: [PATCH 007/124] Bug#3788 Crashes with stored procedure return non-string values Also fixes Bug#2773 mysql-test/r/information_schema.result: Bug#3788 Fix results for bugfix mysql-test/r/sp.result: Bug#3788 Tests for Bug Fix results for bugfix mysql-test/t/sp.test: Bug#3788 New tests for bug sql/item.cc: Fix unrelated crash in view test with --ps-protocol. sql/item_func.cc: Bug#3788 Alter how SP function result types are handled. sql/item_func.h: Bug#3788 Alter how SP function result types are handled. sql/mysql_priv.h: Bug#3788 Prototypes for new global functions sql/sp.cc: Bug#3788 Alter how function return type is reported sql/sp_head.cc: Bug#3788 Change how function return types are stored for SPs sql/sp_head.h: Bug#3788 Change how function return types are stored for SPs sql/sql_parse.cc: Bug#3788 Split out field construction into its own function sql/sql_table.cc: Bug#3788 Split out field preparation code into its own function sql/sql_yacc.yy: Bug#3788 Change how function return types are stored for SPs sql/unireg.cc: Bug#3788 Add assertion check --- mysql-test/r/information_schema.result | 2 +- mysql-test/r/sp.result | 32 ++- mysql-test/t/sp.test | 29 +++ sql/item.cc | 2 +- sql/item_func.cc | 84 ++++++- sql/item_func.h | 9 + sql/mysql_priv.h | 11 + sql/sp.cc | 24 +- sql/sp_head.cc | 77 +++--- sql/sp_head.h | 15 +- sql/sql_parse.cc | 54 +++-- sql/sql_table.cc | 314 ++++++++++++++----------- sql/sql_yacc.yy | 32 ++- sql/unireg.cc | 1 + 14 files changed, 469 insertions(+), 217 deletions(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 121de940560..3b2d86f84bf 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -202,7 +202,7 @@ select parameter_style, sql_data_access, dtd_identifier from information_schema.routines; parameter_style sql_data_access dtd_identifier SQL CONTAINS SQL NULL -SQL CONTAINS SQL int +SQL CONTAINS SQL int(11) show procedure status; Db Name Type Definer Modified Created Security_type Comment test sel2 PROCEDURE root@localhost # # DEFINER diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index f2b99b7074a..b267331ff6d 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -951,7 +951,7 @@ comment 'Characteristics procedure test' return 42| show create function chistics| Function sql_mode Create Function -chistics CREATE FUNCTION `test`.`chistics`() RETURNS int +chistics CREATE FUNCTION `test`.`chistics`() RETURNS int(11) DETERMINISTIC SQL SECURITY INVOKER COMMENT 'Characteristics procedure test' @@ -964,7 +964,7 @@ no sql comment 'Characteristics function test'| show create function chistics| Function sql_mode Create Function -chistics CREATE FUNCTION `test`.`chistics`() RETURNS int +chistics CREATE FUNCTION `test`.`chistics`() RETURNS int(11) NO SQL DETERMINISTIC SQL SECURITY INVOKER @@ -1214,7 +1214,7 @@ show procedure status; end call bug2267_4()| Function sql_mode Create Function -fac CREATE FUNCTION `test`.`fac`(n int unsigned) RETURNS bigint unsigned +fac CREATE FUNCTION `test`.`fac`(n int unsigned) RETURNS bigint(20) unsigned begin declare f bigint unsigned default 1; while n > 1 do @@ -1576,11 +1576,11 @@ bug2564_2 ANSI_QUOTES CREATE PROCEDURE "test"."bug2564_2"() insert into "t1" values ('foo', 1) show create function bug2564_3| Function sql_mode Create Function -bug2564_3 CREATE FUNCTION `test`.`bug2564_3`(x int, y int) RETURNS int +bug2564_3 CREATE FUNCTION `test`.`bug2564_3`(x int, y int) RETURNS int(11) return x || y show create function bug2564_4| Function sql_mode Create Function -bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI CREATE FUNCTION "test"."bug2564_4"(x int, y int) RETURNS int +bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI CREATE FUNCTION "test"."bug2564_4"(x int, y int) RETURNS int(11) return x || y drop procedure bug2564_1| drop procedure bug2564_2| @@ -1645,6 +1645,28 @@ drop procedure bug4579_1| drop procedure bug4579_2| drop table t3| drop table if exists t3| +drop procedure if exists bug2773| +create function bug2773() returns int return null| +create table t3 as select bug2773()| +show create table t3| +Table Create Table +t3 CREATE TABLE `t3` ( + `bug2773()` int(11) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t3| +drop function bug2773| +drop procedure if exists bug3788| +create function bug3788() returns date return cast("2005-03-04" as date)| +select bug3788()| +bug3788() +2005-03-04 +drop function bug3788| +create function bug3788() returns binary(5) return 5| +select bug3788()| +bug3788() +5 +drop function bug3788| +drop table if exists t3| create table t3 (f1 int, f2 int, f3 int)| insert into t3 values (1,1,1)| drop procedure if exists bug4726| diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 2cfd27134ad..267fcaf6bdf 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -2063,6 +2063,35 @@ drop procedure bug4579_1| drop procedure bug4579_2| drop table t3| +# +# BUG#2773: Function's data type ignored in stored procedures +# +--disable_warnings +drop table if exists t3| +drop procedure if exists bug2773| +--enable_warnings + +create function bug2773() returns int return null| +create table t3 as select bug2773()| +show create table t3| +drop table t3| +drop function bug2773| + +# +# BUG#3788: Stored procedure packet error +# +--disable_warnings +drop procedure if exists bug3788| +--enable_warnings + +create function bug3788() returns date return cast("2005-03-04" as date)| +select bug3788()| +drop function bug3788| + +create function bug3788() returns binary(5) return 5| +select bug3788()| +drop function bug3788| + # # BUG#4726 diff --git a/sql/item.cc b/sql/item.cc index 3b920bd218d..ac69fd33b1f 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -3524,7 +3524,7 @@ bool Item_ref::fix_fields(THD *thd, TABLE_LIST *tables, Item **reference) enum_parsing_place place= NO_MATTER; SELECT_LEX *current_sel= thd->lex->current_select; - if (!ref) + if (!ref || ref == not_found_item) { SELECT_LEX_UNIT *prev_unit= current_sel->master_unit(); SELECT_LEX *outer_sel= prev_unit->outer_select(); diff --git a/sql/item_func.cc b/sql/item_func.cc index 3742a13e0bc..d52b0a184da 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4318,13 +4318,33 @@ longlong Item_func_row_count::val_int() Item_func_sp::Item_func_sp(sp_name *name) :Item_func(), m_name(name), m_sp(NULL) { + char *empty_name= (char *) ""; + maybe_null= 1; m_name->init_qname(current_thd); + bzero(&dummy_table, sizeof(dummy_table)); + dummy_table.share.table_cache_key = empty_name; + dummy_table.share.table_name = empty_name; + dummy_table.table.alias = empty_name; + dummy_table.share.table_name = empty_name; + dummy_table.table.maybe_null = maybe_null; + dummy_table.table.in_use= current_thd; + dummy_table.table.s = &dummy_table.share; } Item_func_sp::Item_func_sp(sp_name *name, List &list) :Item_func(list), m_name(name), m_sp(NULL) { + char *empty_name= (char *) ""; + maybe_null= 1; m_name->init_qname(current_thd); + bzero(&dummy_table, sizeof(dummy_table)); + dummy_table.share.table_cache_key = empty_name; + dummy_table.share.table_name = empty_name; + dummy_table.table.alias = empty_name; + dummy_table.share.table_name = empty_name; + dummy_table.table.maybe_null = maybe_null; + dummy_table.table.in_use= current_thd; + dummy_table.table.s = &dummy_table.share; } const char * @@ -4349,6 +4369,18 @@ Item_func_sp::func_name() const } +Field * +Item_func_sp::sp_result_field(void) const +{ + Field *field= 0; + THD *thd= current_thd; + DBUG_ENTER("Item_func_sp::sp_result_field"); + if (m_sp) + field= m_sp->make_field(max_length, name, &dummy_table.table); + DBUG_RETURN(field); +} + + int Item_func_sp::execute(Item **itp) { @@ -4404,17 +4436,38 @@ Item_func_sp::execute(Item **itp) } +void +Item_func_sp::make_field(Send_field *tmp_field) +{ + Field *field; + DBUG_ENTER("Item_func_sp::make_field"); + if (! m_sp) + m_sp= sp_find_function(current_thd, m_name, TRUE); // cache only + if ((field= sp_result_field())) + { + field->make_field(tmp_field); + delete field; + DBUG_VOID_RETURN; + } + my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", m_name->m_qname.str); + init_make_field(tmp_field, MYSQL_TYPE_VARCHAR); + DBUG_VOID_RETURN; +} + + enum enum_field_types Item_func_sp::field_type() const { + Field *field= 0; DBUG_ENTER("Item_func_sp::field_type"); if (! m_sp) m_sp= sp_find_function(current_thd, m_name, TRUE); // cache only - if (m_sp) + if ((field= sp_result_field())) { - DBUG_PRINT("info", ("m_returns = %d", m_sp->m_returns)); - DBUG_RETURN(m_sp->m_returns); + enum_field_types result= field->type(); + delete field; + DBUG_RETURN(result); } my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", m_name->m_qname.str); DBUG_RETURN(MYSQL_TYPE_VARCHAR); @@ -4424,14 +4477,17 @@ Item_func_sp::field_type() const Item_result Item_func_sp::result_type() const { + Field *field= 0; DBUG_ENTER("Item_func_sp::result_type"); DBUG_PRINT("info", ("m_sp = %p", m_sp)); if (! m_sp) m_sp= sp_find_function(current_thd, m_name, TRUE); // cache only - if (m_sp) + if ((field= sp_result_field())) { - DBUG_RETURN(m_sp->result()); + Item_result result= field->result_type(); + delete field; + DBUG_RETURN(result); } my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", m_name->m_qname.str); DBUG_RETURN(STRING_RESULT); @@ -4450,7 +4506,7 @@ Item_func_sp::fix_length_and_dec() } else { - switch (m_sp->result()) { + switch (result_type()) { case STRING_RESULT: maybe_null= 1; max_length= MAX_BLOB_WIDTH; @@ -4485,3 +4541,19 @@ longlong Item_func_found_rows::val_int() return thd->found_rows(); } + +Field * +Item_func_sp::tmp_table_field(TABLE *t_arg) +{ + Field *res= 0; + enum_field_types ftype; + DBUG_ENTER("Item_func_sp::tmp_table_field"); + + if (m_sp) + res= m_sp->make_field(max_length, (const char *)name, t_arg); + + if (!res) + res= Item_func::tmp_table_field(t_arg); + + DBUG_RETURN(res); +} diff --git a/sql/item_func.h b/sql/item_func.h index 48fc278ccde..cb096732b85 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1250,8 +1250,13 @@ class Item_func_sp :public Item_func private: sp_name *m_name; mutable sp_head *m_sp; + mutable struct { + TABLE table; + TABLE_SHARE share; + } dummy_table; int execute(Item **itp); + Field *sp_result_field(void) const; public: @@ -1266,6 +1271,10 @@ public: enum enum_field_types field_type() const; + Field *tmp_table_field(TABLE *t_arg); + + void make_field(Send_field *tmp_field); + Item_result result_type() const; longlong val_int() diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 2d4a1c3a0ad..40372abbeb1 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -629,6 +629,10 @@ int mysql_derived_filling(THD *thd, LEX *lex, TABLE_LIST *t); Field *create_tmp_field(THD *thd, TABLE *table,Item *item, Item::Type type, Item ***copy_func, Field **from_field, bool group, bool modify_item, uint convert_blob_length); +int prepare_create_field(create_field *sql_field, + uint &blob_columns, + int ×tamps, int ×tamps_with_niladic, + uint table_flags); int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, List &fields, List &keys, uint &db_options, @@ -837,6 +841,13 @@ bool add_field_to_list(THD *thd, char *field_name, enum enum_field_types type, char *change, List *interval_list, CHARSET_INFO *cs, uint uint_geom_type); +create_field * new_create_field(THD *thd, char *field_name, enum_field_types type, + char *length, char *decimals, + uint type_modifier, + Item *default_value, Item *on_update_value, + LEX_STRING *comment, char *change, + List *interval_list, CHARSET_INFO *cs, + uint uint_geom_type); void store_position_for_column(const char *name); bool add_to_list(THD *thd, SQL_LIST &list,Item *group,bool asc=0); void add_join_on(TABLE_LIST *b,Item *expr); diff --git a/sql/sp.cc b/sql/sp.cc index 46b08c3e847..af6441f96f4 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -334,6 +334,22 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp) } +static void +sp_returns_type(THD *thd, String &result, sp_head *sp) +{ + struct { + TABLE table; + TABLE_SHARE share; + } dummy; + Field *field; + bzero(&dummy, sizeof(dummy)); + dummy.table.in_use= thd; + dummy.table.s = &dummy.share; + field= sp->make_field(0, 0, &dummy.table); + field->sql_type(result); + delete field; +} + static int db_create_routine(THD *thd, int type, sp_head *sp) { @@ -388,9 +404,13 @@ db_create_routine(THD *thd, int type, sp_head *sp) store((longlong)sp->m_chistics->suid); table->field[MYSQL_PROC_FIELD_PARAM_LIST]-> store(sp->m_params.str, sp->m_params.length, system_charset_info); - if (sp->m_retstr.str) + if (sp->m_type == TYPE_ENUM_FUNCTION) + { + String retstr(64); + sp_returns_type(thd, retstr, sp); table->field[MYSQL_PROC_FIELD_RETURNS]-> - store(sp->m_retstr.str, sp->m_retstr.length, system_charset_info); + store(retstr.ptr(), retstr.length(), system_charset_info); + } table->field[MYSQL_PROC_FIELD_BODY]-> store(sp->m_body.str, sp->m_body.length, system_charset_info); table->field[MYSQL_PROC_FIELD_DEFINER]-> diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 72e2204f1b4..a4ca92da60a 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -300,11 +300,11 @@ sp_head::init(LEX *lex) */ lex->trg_table_fields.empty(); my_init_dynamic_array(&m_instr, sizeof(sp_instr *), 16, 8); - m_param_begin= m_param_end= m_returns_begin= m_returns_end= m_body_begin= 0; - m_qname.str= m_db.str= m_name.str= m_params.str= m_retstr.str= + m_param_begin= m_param_end= m_body_begin= 0; + m_qname.str= m_db.str= m_name.str= m_params.str= m_body.str= m_defstr.str= 0; m_qname.length= m_db.length= m_name.length= m_params.length= - m_retstr.length= m_body.length= m_defstr.length= 0; + m_body.length= m_defstr.length= 0; m_returns_cs= NULL; DBUG_VOID_RETURN; } @@ -346,41 +346,6 @@ sp_head::init_strings(THD *thd, LEX *lex, sp_name *name) (char *)m_param_begin, m_params.length); } - if (m_returns_begin && m_returns_end) - { - /* QQ KLUDGE: We can't seem to cut out just the type in the parser - (without the RETURNS), so we'll have to do it here. :-( - Furthermore, if there's a character type as well, it's not include - (beyond the m_returns_end pointer), in which case we need - m_returns_cs. */ - char *p= (char *)m_returns_begin+strspn((char *)m_returns_begin,"\t\n\r "); - p+= strcspn(p, "\t\n\r "); - p+= strspn(p, "\t\n\r "); - if (p < (char *)m_returns_end) - m_returns_begin= (uchar *)p; - /* While we're at it, trim the end too. */ - p= (char *)m_returns_end-1; - while (p > (char *)m_returns_begin && - (*p == '\t' || *p == '\n' || *p == '\r' || *p == ' ')) - p-= 1; - m_returns_end= (uchar *)p+1; - if (m_returns_cs) - { - String s((char *)m_returns_begin, m_returns_end - m_returns_begin, - system_charset_info); - - s.append(' '); - s.append(m_returns_cs->csname); - m_retstr.length= s.length(); - m_retstr.str= strmake_root(root, s.ptr(), m_retstr.length); - } - else - { - m_retstr.length= m_returns_end - m_returns_begin; - m_retstr.str= strmake_root(root, - (char *)m_returns_begin, m_retstr.length); - } - } m_body.length= lex->ptr - m_body_begin; /* Trim nuls at the end */ n= 0; @@ -396,6 +361,27 @@ sp_head::init_strings(THD *thd, LEX *lex, sp_name *name) DBUG_VOID_RETURN; } +TYPELIB * +sp_head::create_typelib(List *src) +{ + TYPELIB *result= NULL; + DBUG_ENTER("sp_head::clone_typelib"); + if (src->elements) + { + result= (TYPELIB*) alloc_root(mem_root, sizeof(TYPELIB)); + result->count= src->elements; + result->name= ""; + if (!(result->type_names=(const char **) + alloc_root(mem_root,sizeof(char *)*(result->count+1)))) + return 0; + List_iterator it(*src); + for (uint i=0; icount; i++) + result->type_names[i]= strdup_root(mem_root, (it++)->c_ptr()); + result->type_names[result->count]= 0; + } + return result; +} + int sp_head::create(THD *thd) { @@ -464,6 +450,21 @@ sp_head::destroy() DBUG_VOID_RETURN; } + +Field * +sp_head::make_field(uint max_length, const char *name, TABLE *dummy) +{ + Field *field; + DBUG_ENTER("sp_head::make_field"); + field= ::make_field((char *)0, + !m_returns_len ? max_length : m_returns_len, + (uchar *)"", 0, m_returns_pack, m_returns, m_returns_cs, + (enum Field::geometry_type)0, Field::NONE, + m_returns_typelib, + name ? name : (const char *)m_name.str, dummy); + DBUG_RETURN(field); +} + int sp_head::execute(THD *thd) { diff --git a/sql/sp_head.h b/sql/sp_head.h index 5df9c753048..a4a7e2be8de 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -84,6 +84,9 @@ public: int m_type; // TYPE_ENUM_FUNCTION or TYPE_ENUM_PROCEDURE enum enum_field_types m_returns; // For FUNCTIONs only CHARSET_INFO *m_returns_cs; // For FUNCTIONs only + TYPELIB *m_returns_typelib; // For FUNCTIONs only + uint m_returns_len; // For FUNCTIONs only + uint m_returns_pack; // For FUNCTIONs only my_bool m_has_return; // For FUNCTIONs only my_bool m_simple_case; // TRUE if parsing simple case, FALSE otherwise my_bool m_multi_results; // TRUE if a procedure with SELECT(s) @@ -96,7 +99,6 @@ public: LEX_STRING m_db; LEX_STRING m_name; LEX_STRING m_params; - LEX_STRING m_retstr; // For FUNCTIONs only LEX_STRING m_body; LEX_STRING m_defstr; LEX_STRING m_definer_user; @@ -105,8 +107,7 @@ public: longlong m_modified; HASH m_sptabs; /* Merged table lists */ // Pointers set during parsing - uchar *m_param_begin, *m_param_end, *m_returns_begin, *m_returns_end, - *m_body_begin; + uchar *m_param_begin, *m_param_end, *m_body_begin; static void * operator new(size_t size); @@ -124,6 +125,9 @@ public: void init_strings(THD *thd, LEX *lex, sp_name *name); + TYPELIB * + create_typelib(List *src); + int create(THD *thd); @@ -197,10 +201,7 @@ public: char *create_string(THD *thd, ulong *lenp); - inline Item_result result() - { - return sp_map_result_type(m_returns); - } + Field *make_field(uint max_length, const char *name, TABLE *dummy); void set_info(char *definer, uint definerlen, longlong created, longlong modified, diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 9a78daa1479..85225c94d03 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5291,9 +5291,6 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { register create_field *new_field; LEX *lex= thd->lex; - uint allowed_type_modifier=0; - uint sign_len; - ulong max_field_charlength= MAX_FIELD_CHARLENGTH; DBUG_ENTER("add_field_to_list"); if (strlen(field_name) > NAME_LEN) @@ -5354,9 +5351,38 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, my_error(ER_INVALID_ON_UPDATE, MYF(0), field_name); DBUG_RETURN(1); } - - if (!(new_field=new create_field())) + + if (!(new_field= new_create_field(thd, field_name, type, length, decimals, + type_modifier, default_value, on_update_value, + comment, change, interval_list, cs, uint_geom_type))) DBUG_RETURN(1); + + lex->create_list.push_back(new_field); + lex->last_field=new_field; + DBUG_RETURN(0); +} + +/***************************************************************************** +** Create field definition for create +** Return 0 on failure, otherwise return create_field instance +******************************************************************************/ + +create_field * +new_create_field(THD *thd, char *field_name, enum_field_types type, + char *length, char *decimals, + uint type_modifier, + Item *default_value, Item *on_update_value, + LEX_STRING *comment, + char *change, List *interval_list, CHARSET_INFO *cs, + uint uint_geom_type) +{ + register create_field *new_field; + uint sign_len, allowed_type_modifier=0; + ulong max_field_charlength= MAX_FIELD_CHARLENGTH; + DBUG_ENTER("new_create_field"); + + if (!(new_field=new create_field())) + DBUG_RETURN(NULL); new_field->field=0; new_field->field_name=field_name; new_field->def= default_value; @@ -5428,7 +5454,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, new_field->length >= new_field->decimals) break; my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name); - DBUG_RETURN(1); + DBUG_RETURN(NULL); case MYSQL_TYPE_VARCHAR: /* Long VARCHAR's are automaticly converted to blobs in mysql_prepare_table @@ -5451,7 +5477,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { my_error(ER_BLOB_CANT_HAVE_DEFAULT, MYF(0), field_name); /* purecov: inspected */ - DBUG_RETURN(1); /* purecov: inspected */ + DBUG_RETURN(NULL); } new_field->def=0; } @@ -5471,7 +5497,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, if (tmp_length > PRECISION_FOR_DOUBLE) { my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name); - DBUG_RETURN(1); + DBUG_RETURN(NULL); } else if (tmp_length > PRECISION_FOR_FLOAT) { @@ -5568,7 +5594,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, if (interval_list->elements > sizeof(longlong)*8) { my_error(ER_TOO_BIG_SET, MYF(0), field_name); /* purecov: inspected */ - DBUG_RETURN(1); /* purecov: inspected */ + DBUG_RETURN(NULL); } new_field->pack_length= (interval_list->elements + 7) / 8; if (new_field->pack_length > 4) @@ -5609,7 +5635,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { my_error(ER_TOO_BIG_FIELDLENGTH, MYF(0), field_name, MAX_BIT_FIELD_LENGTH); - DBUG_RETURN(1); + DBUG_RETURN(NULL); } new_field->pack_length= (new_field->length + 7) / 8; break; @@ -5628,17 +5654,15 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { my_error(ER_TOO_BIG_FIELDLENGTH, MYF(0), field_name, max_field_charlength); /* purecov: inspected */ - DBUG_RETURN(1); /* purecov: inspected */ + DBUG_RETURN(NULL); } type_modifier&= AUTO_INCREMENT_FLAG; if ((~allowed_type_modifier) & type_modifier) { my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name); - DBUG_RETURN(1); + DBUG_RETURN(NULL); } - lex->create_list.push_back(new_field); - lex->last_field=new_field; - DBUG_RETURN(0); + DBUG_RETURN(new_field); } diff --git a/sql/sql_table.cc b/sql/sql_table.cc index b38014eb4ea..93c1b7040a9 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -424,6 +424,173 @@ void calculate_interval_lengths(CHARSET_INFO *cs, TYPELIB *interval, } +/* + Prepare a create_table instance for packing + + SYNOPSIS + prepare_create_field() + sql_field field to prepare for packing + blob_columns count for BLOBs + timestamps count for timestamps + table_flags table flags + + DESCRIPTION + This function prepares a create_field instance. + Fields such as pack_flag are valid after this call. + + RETURN VALUES + 0 ok + 1 Error +*/ + +int prepare_create_field(create_field *sql_field, + uint &blob_columns, + int ×tamps, int ×tamps_with_niladic, + uint table_flags) +{ + DBUG_ENTER("prepare_field"); + { + /* This code came from mysql_prepare_table. + Indent preserved to make patching easier */ + DBUG_ASSERT(sql_field->charset); + + switch (sql_field->sql_type) { + case FIELD_TYPE_BLOB: + case FIELD_TYPE_MEDIUM_BLOB: + case FIELD_TYPE_TINY_BLOB: + case FIELD_TYPE_LONG_BLOB: + sql_field->pack_flag=FIELDFLAG_BLOB | + pack_length_to_packflag(sql_field->pack_length - + portable_sizeof_char_ptr); + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->length=8; // Unireg field length + sql_field->unireg_check=Field::BLOB_FIELD; + blob_columns++; + break; + case FIELD_TYPE_GEOMETRY: +#ifdef HAVE_SPATIAL + if (!(table_flags & HA_CAN_GEOMETRY)) + { + my_printf_error(ER_CHECK_NOT_IMPLEMENTED, ER(ER_CHECK_NOT_IMPLEMENTED), + MYF(0), "GEOMETRY"); + DBUG_RETURN(1); + } + sql_field->pack_flag=FIELDFLAG_GEOM | + pack_length_to_packflag(sql_field->pack_length - + portable_sizeof_char_ptr); + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->length=8; // Unireg field length + sql_field->unireg_check=Field::BLOB_FIELD; + blob_columns++; + break; +#else + my_printf_error(ER_FEATURE_DISABLED,ER(ER_FEATURE_DISABLED), MYF(0), + sym_group_geom.name, sym_group_geom.needed_define); + DBUG_RETURN(1); +#endif /*HAVE_SPATIAL*/ + case MYSQL_TYPE_VARCHAR: +#ifndef QQ_ALL_HANDLERS_SUPPORT_VARCHAR + if (table_flags & HA_NO_VARCHAR) + { + /* convert VARCHAR to CHAR because handler is not yet up to date */ + sql_field->sql_type= MYSQL_TYPE_VAR_STRING; + sql_field->pack_length= calc_pack_length(sql_field->sql_type, + (uint) sql_field->length); + if ((sql_field->length / sql_field->charset->mbmaxlen) > + MAX_FIELD_CHARLENGTH) + { + my_printf_error(ER_TOO_BIG_FIELDLENGTH, ER(ER_TOO_BIG_FIELDLENGTH), + MYF(0), sql_field->field_name, MAX_FIELD_CHARLENGTH); + DBUG_RETURN(1); + } + } +#endif + /* fall through */ + case FIELD_TYPE_STRING: + sql_field->pack_flag=0; + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + break; + case FIELD_TYPE_ENUM: + sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | + FIELDFLAG_INTERVAL; + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->unireg_check=Field::INTERVAL_FIELD; + check_duplicates_in_interval("ENUM",sql_field->field_name, + sql_field->interval, + sql_field->charset); + break; + case FIELD_TYPE_SET: + sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | + FIELDFLAG_BITFIELD; + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->unireg_check=Field::BIT_FIELD; + check_duplicates_in_interval("SET",sql_field->field_name, + sql_field->interval, + sql_field->charset); + break; + case FIELD_TYPE_DATE: // Rest of string types + case FIELD_TYPE_NEWDATE: + case FIELD_TYPE_TIME: + case FIELD_TYPE_DATETIME: + case FIELD_TYPE_NULL: + sql_field->pack_flag=f_settype((uint) sql_field->sql_type); + break; + case FIELD_TYPE_BIT: + if (!(table_flags & HA_CAN_BIT_FIELD)) + { + my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "BIT FIELD"); + DBUG_RETURN(1); + } + sql_field->pack_flag= FIELDFLAG_NUMBER; + break; + case FIELD_TYPE_NEWDECIMAL: + sql_field->pack_flag=(FIELDFLAG_NUMBER | + (sql_field->flags & UNSIGNED_FLAG ? 0 : + FIELDFLAG_DECIMAL) | + (sql_field->flags & ZEROFILL_FLAG ? + FIELDFLAG_ZEROFILL : 0) | + (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); + break; + case FIELD_TYPE_TIMESTAMP: + /* We should replace old TIMESTAMP fields with their newer analogs */ + if (sql_field->unireg_check == Field::TIMESTAMP_OLD_FIELD) + { + if (!timestamps) + { + sql_field->unireg_check= Field::TIMESTAMP_DNUN_FIELD; + timestamps_with_niladic++; + } + else + sql_field->unireg_check= Field::NONE; + } + else if (sql_field->unireg_check != Field::NONE) + timestamps_with_niladic++; + + timestamps++; + /* fall-through */ + default: + sql_field->pack_flag=(FIELDFLAG_NUMBER | + (sql_field->flags & UNSIGNED_FLAG ? 0 : + FIELDFLAG_DECIMAL) | + (sql_field->flags & ZEROFILL_FLAG ? + FIELDFLAG_ZEROFILL : 0) | + f_settype((uint) sql_field->sql_type) | + (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); + break; + } + if (!(sql_field->flags & NOT_NULL_FLAG)) + sql_field->pack_flag|= FIELDFLAG_MAYBE_NULL; + if (sql_field->flags & NO_DEFAULT_VALUE_FLAG) + sql_field->pack_flag|= FIELDFLAG_NO_DEFAULT; + } + DBUG_RETURN(0); +} + /* Preparation for table creation @@ -683,142 +850,17 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, { DBUG_ASSERT(sql_field->charset); - switch (sql_field->sql_type) { - case FIELD_TYPE_BLOB: - case FIELD_TYPE_MEDIUM_BLOB: - case FIELD_TYPE_TINY_BLOB: - case FIELD_TYPE_LONG_BLOB: - sql_field->pack_flag=FIELDFLAG_BLOB | - pack_length_to_packflag(sql_field->pack_length - - portable_sizeof_char_ptr); - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->length=8; // Unireg field length - sql_field->unireg_check=Field::BLOB_FIELD; - blob_columns++; - create_info->varchar= 1; - break; - case FIELD_TYPE_GEOMETRY: -#ifdef HAVE_SPATIAL - if (!(file->table_flags() & HA_CAN_GEOMETRY)) - { - my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "GEOMETRY"); - DBUG_RETURN(-1); - } - sql_field->pack_flag=FIELDFLAG_GEOM | - pack_length_to_packflag(sql_field->pack_length - - portable_sizeof_char_ptr); - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->length=8; // Unireg field length - sql_field->unireg_check=Field::BLOB_FIELD; - blob_columns++; - create_info->varchar= 1; - break; -#else - my_error(ER_FEATURE_DISABLED, MYF(0), - sym_group_geom.name, sym_group_geom.needed_define); + if (prepare_create_field(sql_field, blob_columns, + timestamps, timestamps_with_niladic, + file->table_flags())) DBUG_RETURN(-1); -#endif /*HAVE_SPATIAL*/ - case MYSQL_TYPE_VARCHAR: -#ifndef QQ_ALL_HANDLERS_SUPPORT_VARCHAR - if (file->table_flags() & HA_NO_VARCHAR) - { - /* convert VARCHAR to CHAR because handler is not yet up to date */ - sql_field->sql_type= MYSQL_TYPE_VAR_STRING; - sql_field->pack_length= calc_pack_length(sql_field->sql_type, - (uint) sql_field->length); - if ((sql_field->length / sql_field->charset->mbmaxlen) > - MAX_FIELD_CHARLENGTH) - { - my_printf_error(ER_TOO_BIG_FIELDLENGTH, ER(ER_TOO_BIG_FIELDLENGTH), - MYF(0), sql_field->field_name, MAX_FIELD_CHARLENGTH); - DBUG_RETURN(-1); - } - } - else -#endif - create_info->varchar= 1; - /* fall through */ - case MYSQL_TYPE_STRING: - sql_field->pack_flag=0; - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|= FIELDFLAG_BINARY; - break; - case FIELD_TYPE_ENUM: - sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | - FIELDFLAG_INTERVAL; - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->unireg_check=Field::INTERVAL_FIELD; - check_duplicates_in_interval("ENUM",sql_field->field_name, - sql_field->interval, - sql_field->charset); - break; - case FIELD_TYPE_SET: - sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | - FIELDFLAG_BITFIELD; - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->unireg_check=Field::BIT_FIELD; - check_duplicates_in_interval("SET",sql_field->field_name, - sql_field->interval, - sql_field->charset); - break; - case FIELD_TYPE_DATE: // Rest of string types - case FIELD_TYPE_NEWDATE: - case FIELD_TYPE_TIME: - case FIELD_TYPE_DATETIME: - case FIELD_TYPE_NULL: - sql_field->pack_flag=f_settype((uint) sql_field->sql_type); - break; - case FIELD_TYPE_BIT: - if (!(file->table_flags() & HA_CAN_BIT_FIELD)) - { - my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "BIT FIELD"); - DBUG_RETURN(-1); - } - sql_field->pack_flag= FIELDFLAG_NUMBER; - break; - case FIELD_TYPE_NEWDECIMAL: - sql_field->pack_flag=(FIELDFLAG_NUMBER | - (sql_field->flags & UNSIGNED_FLAG ? 0 : - FIELDFLAG_DECIMAL) | - (sql_field->flags & ZEROFILL_FLAG ? - FIELDFLAG_ZEROFILL : 0) | - (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); - break; - case FIELD_TYPE_TIMESTAMP: - /* We should replace old TIMESTAMP fields with their newer analogs */ - if (sql_field->unireg_check == Field::TIMESTAMP_OLD_FIELD) - { - if (!timestamps) - { - sql_field->unireg_check= Field::TIMESTAMP_DNUN_FIELD; - timestamps_with_niladic++; - } - else - sql_field->unireg_check= Field::NONE; - } - else if (sql_field->unireg_check != Field::NONE) - timestamps_with_niladic++; - - timestamps++; - /* fall-through */ - default: - sql_field->pack_flag=(FIELDFLAG_NUMBER | - (sql_field->flags & UNSIGNED_FLAG ? 0 : - FIELDFLAG_DECIMAL) | - (sql_field->flags & ZEROFILL_FLAG ? - FIELDFLAG_ZEROFILL : 0) | - f_settype((uint) sql_field->sql_type) | - (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); - break; - } - if (!(sql_field->flags & NOT_NULL_FLAG)) - sql_field->pack_flag|= FIELDFLAG_MAYBE_NULL; - if (sql_field->flags & NO_DEFAULT_VALUE_FLAG) - sql_field->pack_flag|= FIELDFLAG_NO_DEFAULT; + if (sql_field->sql_type == FIELD_TYPE_BLOB || + sql_field->sql_type == FIELD_TYPE_MEDIUM_BLOB || + sql_field->sql_type == FIELD_TYPE_TINY_BLOB || + sql_field->sql_type == FIELD_TYPE_LONG_BLOB || + sql_field->sql_type == FIELD_TYPE_GEOMETRY || + sql_field->sql_type == MYSQL_TYPE_VARCHAR) + create_info->varchar= 1; sql_field->offset= pos; if (MTYP_TYPENR(sql_field->unireg_check) == Field::NEXT_NUMBER) auto_increment++; @@ -1585,6 +1627,8 @@ TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, ((Item_field *)item)->field : (Field*) 0)))) DBUG_RETURN(0); + if (item->maybe_null) + cr_field->flags &= ~NOT_NULL_FLAG; extra_fields->push_back(cr_field); } /* diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index ba1b999b240..a57ec24def5 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -1370,19 +1370,37 @@ create_function_tail: RETURNS_SYM { LEX *lex= Lex; - sp_head *sp= lex->sphead; - - sp->m_returns_begin= lex->tok_start; - sp->m_returns_cs= lex->charset= NULL; + lex->charset= NULL; + lex->length= lex->dec= NULL; + lex->interval_list.empty(); + lex->type= 0; } type { LEX *lex= Lex; sp_head *sp= lex->sphead; + LEX_STRING cmt = { 0, 0 }; + create_field *new_field; + uint unused1= 0; + int unused2= 0; + + if (!(new_field= new_create_field(YYTHD, "", (enum enum_field_types)$8, + lex->length, lex->dec, lex->type, + (Item *)0, (Item *) 0, &cmt, 0, &lex->interval_list, + (lex->charset ? lex->charset : default_charset_info), + lex->uint_geom_type))) + YYABORT; + + if (prepare_create_field(new_field, unused1, unused2, unused2, 0)) + YYABORT; + + sp->m_returns= new_field->sql_type; + sp->m_returns_cs= new_field->charset; + sp->m_returns_len= new_field->length; + sp->m_returns_pack= new_field->pack_flag; + sp->m_returns_typelib= + sp->create_typelib(&new_field->interval_list); - sp->m_returns_end= lex->tok_start; - sp->m_returns= (enum enum_field_types)$8; - sp->m_returns_cs= lex->charset; bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); } sp_c_chistics diff --git a/sql/unireg.cc b/sql/unireg.cc index dd94098fbf3..3e85767dc86 100644 --- a/sql/unireg.cc +++ b/sql/unireg.cc @@ -695,6 +695,7 @@ static bool make_empty_rec(File file,enum db_type table_type, field->interval, field->field_name, &table); + DBUG_ASSERT(regfield); if (!(field->flags & NOT_NULL_FLAG)) null_count++; From 581e6a2b860de383a63fde27d228270d868a4a03 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 5 Mar 2005 22:06:07 +0200 Subject: [PATCH 008/124] A fix for a bug #8830, which occured when binary data from blob was dumped with --hex-blob and --skip-extended-insert options. BitKeeper/etc/ignore: Added support-files/ndb-config-2-node.ini to the ignore list client/mysqldump.c: A fix for a bug #8830. All that was necessary was to use unsigned char instead of signed char. mysql-test/r/mysqldump.result: A result for test case for bug #8830. mysql-test/t/mysqldump.test: Test case for bug #8830. --- .bzrignore | 1 + client/mysqldump.c | 2 +- mysql-test/r/mysqldump.result | 46 +++++++++++++++++++++++++++++++++++ mysql-test/t/mysqldump.test | 10 ++++++++ 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/.bzrignore b/.bzrignore index faedfa2b48e..d19b005a03e 100644 --- a/.bzrignore +++ b/.bzrignore @@ -1052,3 +1052,4 @@ ndb/tools/ndb_drop_index.dsp ndb/tools/ndb_show_tables.dsp ndb/tools/ndb_select_all.dsp ndb/tools/ndb_select_count.dsp +support-files/ndb-config-2-node.ini diff --git a/client/mysqldump.c b/client/mysqldump.c index 2c0bdf9a7a9..a53dc319b2e 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1790,7 +1790,7 @@ static void dumpTable(uint numFields, char *table) char *ptr= row[i], *end= ptr+ lengths[i]; fputs("0x", md_result_file); for (; ptr < end ; ptr++) - fprintf(md_result_file, "%02X", *ptr); + fprintf(md_result_file, "%02X", *((uchar *)ptr)); } else unescape(md_result_file, row[i], lengths[i]); diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index f763a16836f..a52749a1a93 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -549,3 +549,49 @@ UNLOCK TABLES; DROP TABLE t1; DROP TABLE t2; +CREATE TABLE t1 (`b` blob); +INSERT INTO `t1` VALUES (0x602010000280100005E71A); +-- MySQL dump 10.9 +-- +-- Host: localhost Database: test +-- ------------------------------------------------------ +-- Server version 4.1.11-debug-log + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `t1` +-- + +DROP TABLE IF EXISTS `t1`; +CREATE TABLE `t1` ( + `b` blob +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `t1` +-- + + +/*!40000 ALTER TABLE `t1` DISABLE KEYS */; +LOCK TABLES `t1` WRITE; +INSERT INTO `t1` VALUES (0x602010000280100005E71A); +UNLOCK TABLES; +/*!40000 ALTER TABLE `t1` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +DROP TABLE t1; diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index 255ae50a8ca..48f6ed9d0c1 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -165,3 +165,13 @@ INSERT INTO t2 VALUES (4),(5),(6); --exec $MYSQL_DUMP --skip-comments --ignore-table=test.t1 test DROP TABLE t1; DROP TABLE t2; + +# +# Bug #8830 +# + +CREATE TABLE t1 (`b` blob); +INSERT INTO `t1` VALUES (0x602010000280100005E71A); +--exec $MYSQL_DUMP --skip-extended-insert --hex-blob test t1 +DROP TABLE t1; + From 870059eb044d7b058e741de86eef3594100b5bda Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 6 Mar 2005 12:31:40 +0100 Subject: [PATCH 009/124] myisam/ft_parser.c protection against invalid string in ft_get_word mysys/my_symlink2.c typo fixed myisam/ft_parser.c: protection against invalid string in ft_get_word mysys/my_symlink2.c: typo fixed --- myisam/ft_parser.c | 4 ++-- mysys/my_symlink2.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c index 543cf998a82..0b1e68b0d70 100644 --- a/myisam/ft_parser.c +++ b/myisam/ft_parser.c @@ -103,7 +103,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, FT_WORD *word, FTB_PARAM *param) { byte *doc=*start; - uint mwc, length; + uint mwc, length, mbl; param->yesno=(FTB_YES==' ') ? 1 : (param->quot != 0); param->plusminus=param->pmsign=0; @@ -144,7 +144,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, } mwc=length=0; - for (word->pos=doc; docpos=doc; doc Date: Sun, 6 Mar 2005 14:22:28 +0100 Subject: [PATCH 010/124] New Project files for Windows Ithanium 64-bit builds BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + VC++Files/client/mysql_ia64.dsp | 136 ++ VC++Files/client/mysqladmin_ia64.dsp | 124 + VC++Files/client/mysqlcheck_ia64.dsp | 77 + VC++Files/client/mysqlclient_ia64.dsp | 570 +++++ VC++Files/client/mysqldump_ia64.dsp | 136 ++ VC++Files/client/mysqlimport_ia64.dsp | 124 + VC++Files/client/mysqlshow_ia64.dsp | 124 + VC++Files/client/mysqltest_ia64.dsp | 196 ++ VC++Files/comp_err/comp_err_ia64.dsp | 92 + VC++Files/dbug/dbug_ia64.dsp | 125 + VC++Files/heap/heap_ia64.dsp | 256 +++ VC++Files/innobase/innobase_ia64.dsp | 450 ++++ VC++Files/isam/isam_ia64.dsp | 260 +++ VC++Files/isamchk/isamchk_ia64.dsp | 100 + VC++Files/libmysql/libmysql_ia64.dsp | 544 +++++ .../examples/test_libmysqld_ia64.dsp | 80 + VC++Files/libmysqld/libmysqld_ia64.dsp | 581 +++++ .../libmysqltest/myTest-package_ia64.dsp | 92 + VC++Files/libmysqltest/myTest_ia64.dsp | 94 + VC++Files/merge/merge_ia64.dsp | 134 ++ .../my_print_defaults_ia64.dsp | 132 ++ VC++Files/myisam/myisam_ia64.dsp | 366 +++ .../myisam_ftdump/myisam_ftdump_ia64.dsp | 105 + VC++Files/myisamchk/myisamchk_ia64.dsp | 136 ++ VC++Files/myisamlog/myisamlog_ia64.dsp | 138 ++ VC++Files/myisammrg/myisammrg_ia64.dsp | 233 ++ VC++Files/myisampack/myisampack_ia64.dsp | 138 ++ .../mysql-test/mysql_test_run_new_ia64.dsp | 140 ++ VC++Files/mysql_ia64.dsw | 884 ++++++++ VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp | 139 ++ VC++Files/mysqlcheck/mysqlcheck_ia64.dsp | 132 ++ VC++Files/mysqldemb/mysqldemb_ia64.dsp | 447 ++++ VC++Files/mysqlmanager/MySqlManager_ia64.dsp | 276 +++ VC++Files/mysqlserver/mysqlserver_ia64.dsp | 84 + VC++Files/mysqlshutdown/myshutdown_ia64.dsp | 101 + .../mysqlshutdown/mysqlshutdown_ia64.dsp | 119 + VC++Files/mysqlwatch/mysqlwatch_ia64.dsp | 71 + VC++Files/mysys/mysys_ia64.dsp | 619 +++++ VC++Files/pack_isam/pack_isam_ia64.dsp | 133 ++ VC++Files/perror/perror_ia64.dsp | 140 ++ VC++Files/regex/regex_ia64.dsp | 114 + VC++Files/replace/replace_ia64.dsp | 125 + VC++Files/sql/mysqld_ia64.dsp | 2013 +++++++++++++++++ VC++Files/sql/mysqldmax_ia64.dsp | 1542 +++++++++++++ VC++Files/strings/strings_ia64.dsp | 266 +++ VC++Files/test1/test1_ia64.dsp | 103 + VC++Files/tests/mysql_client_test_ia64.dsp | 62 + VC++Files/thr_test/thr_test_ia64.dsp | 106 + VC++Files/vio/vio_ia64.dsp | 108 + VC++Files/zlib/zlib_ia64.dsp | 204 ++ 51 files changed, 13472 insertions(+) create mode 100644 VC++Files/client/mysql_ia64.dsp create mode 100644 VC++Files/client/mysqladmin_ia64.dsp create mode 100644 VC++Files/client/mysqlcheck_ia64.dsp create mode 100644 VC++Files/client/mysqlclient_ia64.dsp create mode 100644 VC++Files/client/mysqldump_ia64.dsp create mode 100644 VC++Files/client/mysqlimport_ia64.dsp create mode 100644 VC++Files/client/mysqlshow_ia64.dsp create mode 100644 VC++Files/client/mysqltest_ia64.dsp create mode 100644 VC++Files/comp_err/comp_err_ia64.dsp create mode 100644 VC++Files/dbug/dbug_ia64.dsp create mode 100644 VC++Files/heap/heap_ia64.dsp create mode 100644 VC++Files/innobase/innobase_ia64.dsp create mode 100644 VC++Files/isam/isam_ia64.dsp create mode 100644 VC++Files/isamchk/isamchk_ia64.dsp create mode 100644 VC++Files/libmysql/libmysql_ia64.dsp create mode 100644 VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp create mode 100644 VC++Files/libmysqld/libmysqld_ia64.dsp create mode 100644 VC++Files/libmysqltest/myTest-package_ia64.dsp create mode 100644 VC++Files/libmysqltest/myTest_ia64.dsp create mode 100644 VC++Files/merge/merge_ia64.dsp create mode 100644 VC++Files/my_print_defaults/my_print_defaults_ia64.dsp create mode 100644 VC++Files/myisam/myisam_ia64.dsp create mode 100644 VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp create mode 100644 VC++Files/myisamchk/myisamchk_ia64.dsp create mode 100644 VC++Files/myisamlog/myisamlog_ia64.dsp create mode 100644 VC++Files/myisammrg/myisammrg_ia64.dsp create mode 100644 VC++Files/myisampack/myisampack_ia64.dsp create mode 100644 VC++Files/mysql-test/mysql_test_run_new_ia64.dsp create mode 100644 VC++Files/mysql_ia64.dsw create mode 100644 VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp create mode 100644 VC++Files/mysqlcheck/mysqlcheck_ia64.dsp create mode 100644 VC++Files/mysqldemb/mysqldemb_ia64.dsp create mode 100644 VC++Files/mysqlmanager/MySqlManager_ia64.dsp create mode 100644 VC++Files/mysqlserver/mysqlserver_ia64.dsp create mode 100644 VC++Files/mysqlshutdown/myshutdown_ia64.dsp create mode 100644 VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp create mode 100644 VC++Files/mysqlwatch/mysqlwatch_ia64.dsp create mode 100644 VC++Files/mysys/mysys_ia64.dsp create mode 100644 VC++Files/pack_isam/pack_isam_ia64.dsp create mode 100644 VC++Files/perror/perror_ia64.dsp create mode 100644 VC++Files/regex/regex_ia64.dsp create mode 100644 VC++Files/replace/replace_ia64.dsp create mode 100644 VC++Files/sql/mysqld_ia64.dsp create mode 100644 VC++Files/sql/mysqldmax_ia64.dsp create mode 100644 VC++Files/strings/strings_ia64.dsp create mode 100644 VC++Files/test1/test1_ia64.dsp create mode 100644 VC++Files/tests/mysql_client_test_ia64.dsp create mode 100644 VC++Files/thr_test/thr_test_ia64.dsp create mode 100644 VC++Files/vio/vio_ia64.dsp create mode 100644 VC++Files/zlib/zlib_ia64.dsp diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index a04676ef503..9749be3448e 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -45,6 +45,7 @@ dlenev@jabberwock.localdomain dlenev@mysql.com ejonore@mc03.ndb.mysql.com georg@beethoven.local +georg@lmy002.wdf.sap.corp gerberb@ou800.zenez.com gluh@gluh.(none) gluh@gluh.mysql.r18.ru diff --git a/VC++Files/client/mysql_ia64.dsp b/VC++Files/client/mysql_ia64.dsp new file mode 100644 index 00000000000..43bc9fa5b09 --- /dev/null +++ b/VC++Files/client/mysql_ia64.dsp @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Project File - Name="mysql" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysql - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysql.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysql.mak" CFG="mysql - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysql - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysql - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysql - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysql - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysql - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysql___" +# PROP BASE Intermediate_Dir "mysql___" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysql.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysql - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysql___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysql___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /WX /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /WX /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /out:"../client_classic/mysql.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysql - WinIA64 Release" +# Name "mysql - WinIA64 Debug" +# Name "mysql - WinIA64 classic" +# Begin Source File + +SOURCE=.\completion_hash.cpp +# End Source File +# Begin Source File + +SOURCE=.\mysql.cpp +# End Source File +# Begin Source File + +SOURCE=.\readline.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_string.cpp +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqladmin_ia64.dsp b/VC++Files/client/mysqladmin_ia64.dsp new file mode 100644 index 00000000000..1669b1bad72 --- /dev/null +++ b/VC++Files/client/mysqladmin_ia64.dsp @@ -0,0 +1,124 @@ +# Microsoft Developer Studio Project File - Name="mysqladmin" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqladmin - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqladmin.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqladmin.mak" CFG="mysqladmin - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqladmin - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqladmin - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqladmin - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqladmin - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqladmin - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqladm" +# PROP BASE Intermediate_Dir "mysqladm" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqladmin.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqladmin - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqladmin___Win64_classic" +# PROP BASE Intermediate_Dir "mysqladmin___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqladmin - WinIA64 Release" +# Name "mysqladmin - WinIA64 Debug" +# Name "mysqladmin - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqladmin.cpp +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqlcheck_ia64.dsp b/VC++Files/client/mysqlcheck_ia64.dsp new file mode 100644 index 00000000000..4b2c2bb4c46 --- /dev/null +++ b/VC++Files/client/mysqlcheck_ia64.dsp @@ -0,0 +1,77 @@ +# Microsoft Developer Studio Project File - Name="mysqlcheck" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlcheck - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlcheck.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlcheck.mak" CFG="mysqlcheck - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlcheck - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysql - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlcheck___WinIA64_Release" +# PROP BASE Intermediate_Dir "mysqlcheck___WinIA64_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "mysqlcheck___WinIA64_Release" +# PROP Intermediate_Dir "mysqlcheck___WinIA64_Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /I "../include" /D"NDEBUG" /D"DBUG_OFF" /D"_CONSOLE" /D"_MBCS" /D"_WINDOWS" /Fp"Release/mysqlcheck.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:"release/mysqlcheck.pdb" /machine:IA64 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /incremental:no +# SUBTRACT LINK32 + +!ENDIF + +# Begin Target + +# Name "mysqlcheck - WinIA64 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\mysqlcheck.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/client/mysqlclient_ia64.dsp b/VC++Files/client/mysqlclient_ia64.dsp new file mode 100644 index 00000000000..e91245c12b2 --- /dev/null +++ b/VC++Files/client/mysqlclient_ia64.dsp @@ -0,0 +1,570 @@ +# Microsoft Developer Studio Project File - Name="mysqlclient" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysqlclient - WinIA64 authent +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlclient.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlclient.mak" CFG="mysqlclient - WinIA64 authent" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlclient - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqlclient - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqlclient - WinIA64 authent" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlclient - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\mysqlclient.lib" + +!ELSEIF "$(CFG)" == "mysqlclient - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib" + +!ELSEIF "$(CFG)" == "mysqlclient - WinIA64 authent" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlclient___WinIA64_authent" +# PROP BASE Intermediate_Dir "mysqlclient___WinIA64_authent" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "authent" +# PROP Intermediate_Dir "authent" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "CHECK_LICENSE" /D LICENSE=Commercial /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\mysqlclient.lib" +# ADD LIB32 /nologo /out:"..\lib_authent\mysqlclient.lib" + +!ENDIF + +# Begin Target + +# Name "mysqlclient - WinIA64 Release" +# Name "mysqlclient - WinIA64 Debug" +# Name "mysqlclient - WinIA64 authent" +# Begin Source File + +SOURCE=..\mysys\array.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bchange.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove_upp.c +# End Source File +# Begin Source File + +SOURCE="..\mysys\charset-def.c" +# End Source File +# Begin Source File + +SOURCE=..\mysys\charset.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\client.c +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-big5.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-bin.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-czech.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-euc_kr.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gb2312.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gbk.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-simple.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-sjis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-tis620.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-uca.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ucs2.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ujis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-utf8.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-win1250ch.c" +# End Source File +# Begin Source File + +SOURCE=..\strings\ctype.c +# End Source File +# Begin Source File + +SOURCE=..\dbug\dbug.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\default.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\errors.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\strings\int2str.c +# End Source File +# Begin Source File + +SOURCE=..\strings\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\libmysql.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\list.c +# End Source File +# Begin Source File + +SOURCE=..\strings\llstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\longlong2str.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_cache.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_dirname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_fn_ext.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_format.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_iocache.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_iocache2.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_loadpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_pack.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_path.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_tempfile.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_unixpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_wcomp.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mulalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_compress.c +# ADD CPP /I "../zlib" +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_create.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_delete.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_div.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_error.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_file.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fopen.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fstream.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_gethostbyname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getopt.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getwd.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_init.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_lib.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_malloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_messnc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_net.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_once.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_open.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_pread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_pthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_read.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_realloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_rename.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_seek.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_static.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_strtoll10.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink2.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_tempnam.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_thr_init.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\my_time.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_wincond.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_winthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_write.c +# End Source File +# Begin Source File + +SOURCE=.\mysys_priv.h +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\pack.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\password.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\safemalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\sha1.c +# End Source File +# Begin Source File + +SOURCE=..\strings\str2int.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcont.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strfill.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\string.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strinstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmake.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnlen.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtod.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtoll.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtoull.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\thr_mutex.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\typelib.c +# End Source File +# Begin Source File + +SOURCE=..\vio\vio.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosocket.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viossl.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosslfactories.c +# End Source File +# Begin Source File + +SOURCE=..\strings\xml.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqldump_ia64.dsp b/VC++Files/client/mysqldump_ia64.dsp new file mode 100644 index 00000000000..27b8ed47062 --- /dev/null +++ b/VC++Files/client/mysqldump_ia64.dsp @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Project File - Name="mysqldump" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqldump - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqldump.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqldump.mak" CFG="mysqldump - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqldump - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldump - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldump - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqldump - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqldum" +# PROP BASE Intermediate_Dir "mysqldum" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqldump.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqldump___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysqldump___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqldump - WinIA64 Release" +# Name "mysqldump - WinIA64 Debug" +# Name "mysqldump - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqldump.c + +!IF "$(CFG)" == "mysqldump - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 Debug" + +# ADD CPP /W3 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 classic" + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqlimport_ia64.dsp b/VC++Files/client/mysqlimport_ia64.dsp new file mode 100644 index 00000000000..35d9e6e9f64 --- /dev/null +++ b/VC++Files/client/mysqlimport_ia64.dsp @@ -0,0 +1,124 @@ +# Microsoft Developer Studio Project File - Name="mysqlimport" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlimport - Win32IAg4 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlimport.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlimport.mak" CFG="mysqlimport - Win32IAg4 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlimport - Win32IAg4 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - Win32IAg4 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - Win32IAg4 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlimport - Win32IAg4 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlimport - Win32IAg4 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqlimp" +# PROP BASE Intermediate_Dir "mysqlimp" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlimport.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlimport - Win32IAg4 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlimport___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysqlimport___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlimport - Win32IAg4 Release" +# Name "mysqlimport - Win32IAg4 Debug" +# Name "mysqlimport - Win32IAg4 classic" +# Begin Source File + +SOURCE=.\mysqlimport.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqlshow_ia64.dsp b/VC++Files/client/mysqlshow_ia64.dsp new file mode 100644 index 00000000000..8b02a03707b --- /dev/null +++ b/VC++Files/client/mysqlshow_ia64.dsp @@ -0,0 +1,124 @@ +# Microsoft Developer Studio Project File - Name="mysqlshow" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlshow - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlshow.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlshow.mak" CFG="mysqlshow - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlshow - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlshow - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlshow - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlshow - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlshow - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqlsho" +# PROP BASE Intermediate_Dir "mysqlsho" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlshow.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlshow - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlshow___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysqlshow___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlshow - WinIA64 Release" +# Name "mysqlshow - WinIA64 Debug" +# Name "mysqlshow - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqlshow.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqltest_ia64.dsp b/VC++Files/client/mysqltest_ia64.dsp new file mode 100644 index 00000000000..f43444f686c --- /dev/null +++ b/VC++Files/client/mysqltest_ia64.dsp @@ -0,0 +1,196 @@ +# Microsoft Developer Studio Project File - Name="mysqltest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=MYSQLTEST - WinIA64 RELEASE +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqltest.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqltest.mak" CFG="MYSQLTEST - WinIA64 RELEASE" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqltest - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqltest - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqltest - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqltest - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir ".\debug" +# PROP BASE Intermediate_Dir ".\debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir ".\debug" +# PROP Intermediate_Dir ".\debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\debug\mysqltest.tlb" /win64 +# ADD MTL /nologo /tlb".\debug\mysqltest.tlb" /win64 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Z7 /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GZ /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /debug /machine:I386 /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqltest - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\classic" +# PROP BASE Intermediate_Dir ".\classic" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\classic" +# PROP Intermediate_Dir ".\classic" +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\classic\mysqltest.tlb" /win64 +# ADD MTL /nologo /tlb".\classic\mysqltest.tlb" /win64 +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /Ob1 /Gy /I "../include" /I "../regex" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /GF /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GF /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqltest - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\release" +# PROP BASE Intermediate_Dir ".\release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\release" +# PROP Intermediate_Dir ".\release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\release\mysqltest.tlb" /win64 +# ADD MTL /nologo /tlb".\release\mysqltest.tlb" /win64 +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /Ob1 /Gy /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GF /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "mysqltest - WinIA64 Debug" +# Name "mysqltest - WinIA64 classic" +# Name "mysqltest - WinIA64 Release" +# Begin Source File + +SOURCE=..\libmysql\manager.c +DEP_CPP_MANAG=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\errmsg.h"\ + "..\include\m_ctype.h"\ + "..\include\m_string.h"\ + "..\include\my_alloc.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_dir.h"\ + "..\include\my_global.h"\ + "..\include\my_list.h"\ + "..\include\my_net.h"\ + "..\include\my_pthread.h"\ + "..\include\my_sys.h"\ + "..\include\mysql.h"\ + "..\include\mysql_com.h"\ + "..\include\mysql_time.h"\ + "..\include\mysql_version.h"\ + "..\include\mysqld_error.h"\ + "..\include\mysys_err.h"\ + "..\include\raid.h"\ + "..\include\t_ctype.h"\ + "..\include\typelib.h"\ + "..\include\violite.h"\ + +# End Source File +# Begin Source File + +SOURCE=.\mysqltest.c +DEP_CPP_MYSQL=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\errmsg.h"\ + "..\include\hash.h"\ + "..\include\help_end.h"\ + "..\include\help_start.h"\ + "..\include\m_ctype.h"\ + "..\include\m_string.h"\ + "..\include\my_alloc.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_dir.h"\ + "..\include\my_getopt.h"\ + "..\include\my_global.h"\ + "..\include\my_list.h"\ + "..\include\my_net.h"\ + "..\include\my_pthread.h"\ + "..\include\my_sys.h"\ + "..\include\mysql.h"\ + "..\include\mysql_com.h"\ + "..\include\mysql_embed.h"\ + "..\include\mysql_time.h"\ + "..\include\mysql_version.h"\ + "..\include\mysqld_error.h"\ + "..\include\raid.h"\ + "..\include\sslopt-case.h"\ + "..\include\sslopt-longopts.h"\ + "..\include\sslopt-vars.h"\ + "..\include\t_ctype.h"\ + "..\include\typelib.h"\ + "..\include\violite.h"\ + "..\regex\regex.h"\ + +# End Source File +# End Target +# End Project diff --git a/VC++Files/comp_err/comp_err_ia64.dsp b/VC++Files/comp_err/comp_err_ia64.dsp new file mode 100644 index 00000000000..f7f30094803 --- /dev/null +++ b/VC++Files/comp_err/comp_err_ia64.dsp @@ -0,0 +1,92 @@ +# Microsoft Developer Studio Project File - Name="comp_err" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=COMP_ERR - WinIA64 DEBUG +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "comp_err.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "comp_err.mak" CFG="COMP_ERR - WinIA64 DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "comp_err - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "comp_err - WinIA64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" + +!IF "$(CFG)" == "comp_err - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /I "..\include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCSN" /D "DBUG_OFF" /D "_WINDOWS" /D "__WIN__" /D "_MT" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +RSC=rc.exe +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib /nologo /subsystem:console /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "comp_err - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Ignore_Export_Lib 0 +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /W3 /Zi /Od /I "..\include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCSN" /D "DBUG_OFF" /D "_WINDOWS" /D "__WIN__" /D "_MT" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +MTL=midl.exe +RSC=rc.exe +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "comp_err - WinIA64 Release" +# Name "comp_err - WinIA64 Debug" +# Begin Source File + +SOURCE=..\extra\comp_err.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/dbug/dbug_ia64.dsp b/VC++Files/dbug/dbug_ia64.dsp new file mode 100644 index 00000000000..70a32279d20 --- /dev/null +++ b/VC++Files/dbug/dbug_ia64.dsp @@ -0,0 +1,125 @@ +# Microsoft Developer Studio Project File - Name="dbug" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=dbug - WinIA64 TLS_DEBUG +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "dbug.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "dbug.mak" CFG="dbug - WinIA64 TLS_DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "dbug - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "dbug - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "dbug - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "dbug - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\dbug.lib" + +!ELSEIF "$(CFG)" == "dbug - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\dbug.lib" + +!ELSEIF "$(CFG)" == "dbug - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_debug\dbug_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\dbug_tls.lib" + +!ENDIF + +# Begin Target + +# Name "dbug - WinIA64 Release" +# Name "dbug - WinIA64 Debug" +# Name "dbug - WinIA64 TLS_DEBUG" +# Begin Source File + +SOURCE=.\dbug.c +# End Source File +# Begin Source File + +SOURCE=.\factorial.c +# End Source File +# Begin Source File + +SOURCE=.\sanity.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/heap/heap_ia64.dsp b/VC++Files/heap/heap_ia64.dsp new file mode 100644 index 00000000000..6b40b7c34b7 --- /dev/null +++ b/VC++Files/heap/heap_ia64.dsp @@ -0,0 +1,256 @@ +# Microsoft Developer Studio Project File - Name="heap" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=heap - WinIA64 TLS +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "heap.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "heap.mak" CFG="heap - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "heap - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "heap - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "heap - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "heap - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "heap - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\heap.lib" + +!ELSEIF "$(CFG)" == "heap - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\heap.lib" + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "heap___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "heap___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "heap___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "heap___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_debug\heap_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\heap_tls.lib" + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "heap___WinIA64_TLS" +# PROP BASE Intermediate_Dir "heap___WinIA64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "heap___WinIA64_TLS" +# PROP Intermediate_Dir "heap___WinIA64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\heap_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\heap_tls.lib" + +!ENDIF + +# Begin Target + +# Name "heap - WinIA64 Release" +# Name "heap - WinIA64 Debug" +# Name "heap - WinIA64 TLS_DEBUG" +# Name "heap - WinIA64 TLS" +# Begin Source File + +SOURCE=.\_check.c +# End Source File +# Begin Source File + +SOURCE=.\_rectest.c +# End Source File +# Begin Source File + +SOURCE=.\heapdef.h +# End Source File +# Begin Source File + +SOURCE=.\hp_block.c +# End Source File +# Begin Source File + +SOURCE=.\hp_clear.c +# End Source File +# Begin Source File + +SOURCE=.\hp_close.c +# End Source File +# Begin Source File + +SOURCE=.\hp_create.c +# End Source File +# Begin Source File + +SOURCE=.\hp_delete.c +# End Source File +# Begin Source File + +SOURCE=.\hp_extra.c +# End Source File +# Begin Source File + +SOURCE=.\hp_hash.c + +!IF "$(CFG)" == "heap - WinIA64 Release" + +!ELSEIF "$(CFG)" == "heap - WinIA64 Debug" + +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS_DEBUG" + +# SUBTRACT BASE CPP /YX +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hp_info.c +# End Source File +# Begin Source File + +SOURCE=.\hp_open.c +# End Source File +# Begin Source File + +SOURCE=.\hp_panic.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rename.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rkey.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rlast.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rnext.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rprev.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\hp_scan.c +# End Source File +# Begin Source File + +SOURCE=.\hp_static.c +# End Source File +# Begin Source File + +SOURCE=.\hp_update.c +# End Source File +# Begin Source File + +SOURCE=.\hp_write.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/innobase/innobase_ia64.dsp b/VC++Files/innobase/innobase_ia64.dsp new file mode 100644 index 00000000000..3b42601186a --- /dev/null +++ b/VC++Files/innobase/innobase_ia64.dsp @@ -0,0 +1,450 @@ +# Microsoft Developer Studio Project File - Name="innobase" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=innobase - WinIA64 Max nt +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "innobase.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "innobase.mak" CFG="innobase - WinIA64 Max nt" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "innobase - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - WinIA64 nt" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - WinIA64 Max nt" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "innobase - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_Debug" +# PROP BASE Intermediate_Dir "innobase___WinIA64_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "__NT__" /D "WIN64" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innobase-nt.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_Release0" +# PROP BASE Intermediate_Dir "innobase___WinIA64_Release0" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../innobase/include" /I "../include" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - WinIA64 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_nt" +# PROP BASE Intermediate_Dir "innobase___WinIA64_nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../innobase/include" /I "../include" /D "_LIB" /D "_WIN64" /D "WIN64" /D "NDEBUG" /D "MYSQL_SERVER" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - WinIA64 Max nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_Max_nt" +# PROP BASE Intermediate_Dir "innobase___WinIA64_Max_nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max_nt" +# PROP Intermediate_Dir "max_nt" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_Win64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../innobase/include" /I "../include" /D "_LIB" /D "_WIN64" /D "WIN64" /D "NDEBUG" /D "MYSQL_SERVER" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt-max /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ENDIF + +# Begin Target + +# Name "innobase - WinIA64 Debug" +# Name "innobase - WinIA64 Release" +# Name "innobase - WinIA64 nt" +# Name "innobase - WinIA64 Max nt" +# Begin Source File + +SOURCE=.\btr\btr0btr.c +# End Source File +# Begin Source File + +SOURCE=.\btr\btr0cur.c +# End Source File +# Begin Source File + +SOURCE=.\btr\btr0pcur.c +# End Source File +# Begin Source File + +SOURCE=.\btr\btr0sea.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0buf.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0flu.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0lru.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0rea.c +# End Source File +# Begin Source File + +SOURCE=.\data\data0data.c +# End Source File +# Begin Source File + +SOURCE=.\data\data0type.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0boot.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0crea.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0dict.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0load.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0mem.c +# End Source File +# Begin Source File + +SOURCE=.\dyn\dyn0dyn.c +# End Source File +# Begin Source File + +SOURCE=.\eval\eval0eval.c +# End Source File +# Begin Source File + +SOURCE=.\eval\eval0proc.c +# End Source File +# Begin Source File + +SOURCE=.\fil\fil0fil.c +# End Source File +# Begin Source File + +SOURCE=.\fsp\fsp0fsp.c +# End Source File +# Begin Source File + +SOURCE=.\fut\fut0fut.c +# End Source File +# Begin Source File + +SOURCE=.\fut\fut0lst.c +# End Source File +# Begin Source File + +SOURCE=.\ha\ha0ha.c +# End Source File +# Begin Source File + +SOURCE=.\ha\hash0hash.c +# End Source File +# Begin Source File + +SOURCE=.\ibuf\ibuf0ibuf.c +# End Source File +# Begin Source File + +SOURCE=.\pars\lexyy.c +# End Source File +# Begin Source File + +SOURCE=.\lock\lock0lock.c +# End Source File +# Begin Source File + +SOURCE=.\log\log0log.c +# End Source File +# Begin Source File + +SOURCE=.\log\log0recv.c +# End Source File +# Begin Source File + +SOURCE=.\mach\mach0data.c +# End Source File +# Begin Source File + +SOURCE=.\mem\mem0mem.c +# End Source File +# Begin Source File + +SOURCE=.\mem\mem0pool.c +# End Source File +# Begin Source File + +SOURCE=.\mtr\mtr0log.c +# End Source File +# Begin Source File + +SOURCE=.\mtr\mtr0mtr.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0file.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0proc.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0sync.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0thread.c +# End Source File +# Begin Source File + +SOURCE=.\page\page0cur.c +# End Source File +# Begin Source File + +SOURCE=.\page\page0page.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0grm.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0opt.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0pars.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0sym.c +# End Source File +# Begin Source File + +SOURCE=.\que\que0que.c +# End Source File +# Begin Source File + +SOURCE=.\read\read0read.c +# End Source File +# Begin Source File + +SOURCE=.\rem\rem0cmp.c +# End Source File +# Begin Source File + +SOURCE=.\rem\rem0rec.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0ins.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0mysql.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0purge.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0row.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0sel.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0uins.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0umod.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0undo.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0upd.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0vers.c +# End Source File +# Begin Source File + +SOURCE=.\srv\srv0que.c +# End Source File +# Begin Source File + +SOURCE=.\srv\srv0srv.c +# End Source File +# Begin Source File + +SOURCE=.\srv\srv0start.c +# End Source File +# Begin Source File + +SOURCE=.\sync\sync0arr.c +# End Source File +# Begin Source File + +SOURCE=.\sync\sync0rw.c +# End Source File +# Begin Source File + +SOURCE=.\sync\sync0sync.c +# End Source File +# Begin Source File + +SOURCE=.\thr\thr0loc.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0purge.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0rec.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0roll.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0rseg.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0sys.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0trx.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0undo.c +# End Source File +# Begin Source File + +SOURCE=.\usr\usr0sess.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0byte.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0dbg.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0mem.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0rnd.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0ut.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/isam/isam_ia64.dsp b/VC++Files/isam/isam_ia64.dsp new file mode 100644 index 00000000000..f9dce0bed4a --- /dev/null +++ b/VC++Files/isam/isam_ia64.dsp @@ -0,0 +1,260 @@ +# Microsoft Developer Studio Project File - Name="isam" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=isam - WinIA64 TLS +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "isam.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "isam.mak" CFG="isam - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "isam - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "isam - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "isam - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "isam - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "isam - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\isam.lib" + +!ELSEIF "$(CFG)" == "isam - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_Debug\isam.lib" + +!ELSEIF "$(CFG)" == "isam - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "isam___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "isam___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "isam___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "isam___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_Debug\isam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_Debug\isam_tls.lib" + +!ELSEIF "$(CFG)" == "isam - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "isam___WinIA64_TLS" +# PROP BASE Intermediate_Dir "isam___WinIA64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "isam___WinIA64_TLS" +# PROP Intermediate_Dir "isam___WinIA64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\isam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\isam_tls.lib" + +!ENDIF + +# Begin Target + +# Name "isam - WinIA64 Release" +# Name "isam - WinIA64 Debug" +# Name "isam - WinIA64 TLS_DEBUG" +# Name "isam - WinIA64 TLS" +# Begin Source File + +SOURCE=.\_cache.c +# End Source File +# Begin Source File + +SOURCE=.\_dbug.c +# End Source File +# Begin Source File + +SOURCE=.\_dynrec.c +# End Source File +# Begin Source File + +SOURCE=.\_key.c +# End Source File +# Begin Source File + +SOURCE=.\_locking.c +# End Source File +# Begin Source File + +SOURCE=.\_packrec.c +# End Source File +# Begin Source File + +SOURCE=.\_page.c +# End Source File +# Begin Source File + +SOURCE=.\_search.c +# End Source File +# Begin Source File + +SOURCE=.\_statrec.c +# End Source File +# Begin Source File + +SOURCE=.\changed.c +# End Source File +# Begin Source File + +SOURCE=.\close.c +# End Source File +# Begin Source File + +SOURCE=.\create.c +# End Source File +# Begin Source File + +SOURCE=.\delete.c +# End Source File +# Begin Source File + +SOURCE=.\extra.c +# End Source File +# Begin Source File + +SOURCE=.\info.c +# End Source File +# Begin Source File + +SOURCE=.\log.c +# End Source File +# Begin Source File + +SOURCE=.\open.c +# End Source File +# Begin Source File + +SOURCE=.\panic.c +# End Source File +# Begin Source File + +SOURCE=.\range.c +# End Source File +# Begin Source File + +SOURCE=.\rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\rkey.c +# End Source File +# Begin Source File + +SOURCE=.\rlast.c +# End Source File +# Begin Source File + +SOURCE=.\rnext.c +# End Source File +# Begin Source File + +SOURCE=.\rprev.c +# End Source File +# Begin Source File + +SOURCE=.\rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\rsame.c +# End Source File +# Begin Source File + +SOURCE=.\rsamepos.c +# End Source File +# Begin Source File + +SOURCE=.\static.c +# End Source File +# Begin Source File + +SOURCE=.\update.c +# End Source File +# Begin Source File + +SOURCE=.\write.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/isamchk/isamchk_ia64.dsp b/VC++Files/isamchk/isamchk_ia64.dsp new file mode 100644 index 00000000000..f019705cb5b --- /dev/null +++ b/VC++Files/isamchk/isamchk_ia64.dsp @@ -0,0 +1,100 @@ +# Microsoft Developer Studio Project File - Name="isamchk" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=isamchk - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "isamchk.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "isamchk.mak" CFG="isamchk - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "isamchk - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "isamchk - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "isamchk - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x41d /d "NDEBUG" +# ADD RSC /l 0x41d /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/isamchk.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "isamchk - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "isamchk___WinIA64_classic" +# PROP BASE Intermediate_Dir "isamchk___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "_CONSOLE" /D "_WINDOWS" /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D LICENSE=Commercial /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x41d /d "NDEBUG" +# ADD RSC /l 0x41d /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/isamchk.exe" /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/isamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "isamchk - WinIA64 Release" +# Name "isamchk - WinIA64 classic" +# Begin Source File + +SOURCE=..\isam\isamchk.c +# End Source File +# Begin Source File + +SOURCE=..\isam\sort.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysql/libmysql_ia64.dsp b/VC++Files/libmysql/libmysql_ia64.dsp new file mode 100644 index 00000000000..1584e6f567e --- /dev/null +++ b/VC++Files/libmysql/libmysql_ia64.dsp @@ -0,0 +1,544 @@ +# Microsoft Developer Studio Project File - Name="libmysql" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libmysql - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "libmysql.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "libmysql.mak" CFG="libmysql - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libmysql - WinIA64 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysql - WinIA64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libmysql - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "." /I "..\include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "NDEBUG" /D "MYSQL_CLIENT" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:IX86 /machine:IA64 +# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:IX86 /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release" /machine:IA64 +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Desc=Move DLL export lib +PostBuild_Cmds=xcopy release\libmysql.lib ..\lib_release /y +# End Special Build Tool + +!ELSEIF "$(CFG)" == "libmysql - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "." /I "..\include" /I "../zlib" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win64 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:IA64 +# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:IX86 /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /libpath:"." /libpath:"..\lib_debug" /machine:IA64 +# SUBTRACT LINK32 /pdb:none +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Desc=Move DLL export lib +PostBuild_Cmds=xcopy ..\lib_debug\libmysql.dll %windir%\system32\ /y xcopy debug\libmysql.lib ..\lib_debug\ /y +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "libmysql - WinIA64 Release" +# Name "libmysql - WinIA64 Debug" +# Begin Source File + +SOURCE=..\mysys\array.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bchange.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove_upp.c +# End Source File +# Begin Source File + +SOURCE="..\mysys\charset-def.c" +# End Source File +# Begin Source File + +SOURCE=..\mysys\charset.c +# End Source File +# Begin Source File + +SOURCE=.\client.c +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-big5.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-bin.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-czech.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-euc_kr.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gb2312.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gbk.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-simple.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-sjis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-tis620.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-uca.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ucs2.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ujis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-utf8.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-win1250ch.c" +# End Source File +# Begin Source File + +SOURCE=..\strings\ctype.c +# End Source File +# Begin Source File + +SOURCE=..\dbug\dbug.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\default.c +# End Source File +# Begin Source File + +SOURCE=.\dll.c +# End Source File +# Begin Source File + +SOURCE=.\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\errors.c +# End Source File +# Begin Source File + +SOURCE=.\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\strings\int2str.c +# End Source File +# Begin Source File + +SOURCE=..\strings\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=.\libmysql.c +# End Source File +# Begin Source File + +SOURCE=.\Libmysql.def +# End Source File +# Begin Source File + +SOURCE=..\mysys\list.c +# End Source File +# Begin Source File + +SOURCE=..\strings\llstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\longlong2str.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_dirname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_fn_ext.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_format.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_loadpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_pack.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_path.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_unixpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_wcomp.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mulalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_compress.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_create.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_delete.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_div.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_error.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fopen.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fstream.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_gethostbyname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getopt.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getwd.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_init.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_lib.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_malloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_messnc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_net.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_once.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_open.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_pthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_read.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_realloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_rename.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_static.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_strtoll10.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink2.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_tempnam.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_thr_init.c +# End Source File +# Begin Source File + +SOURCE=.\my_time.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_wincond.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_winthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_write.c +# End Source File +# Begin Source File + +SOURCE=..\client\mysys_priv.h +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=.\pack.c +# End Source File +# Begin Source File + +SOURCE=.\password.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\safemalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\sha1.c +# End Source File +# Begin Source File + +SOURCE=..\client\sql_string.cpp +# End Source File +# Begin Source File + +SOURCE=..\client\sql_string.h +# End Source File +# Begin Source File + +SOURCE=..\strings\str2int.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcont.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strfill.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\string.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strinstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmake.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnlen.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtod.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtoll.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\thr_mutex.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\typelib.c +# End Source File +# Begin Source File + +SOURCE=..\vio\vio.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosocket.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viossl.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosslfactories.c +# End Source File +# Begin Source File + +SOURCE=..\strings\xml.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp b/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp new file mode 100644 index 00000000000..9391346d518 --- /dev/null +++ b/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp @@ -0,0 +1,80 @@ +# Microsoft Developer Studio Project File - Name="test_libmysqld" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=test_libmysqld - WinIA64 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "test_libmysqld.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "test_libmysqld.mak" CFG="test_libmysqld - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "test_libmysqld - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "..\..\include" /I "../include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /YX /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib /nologo /subsystem:console /machine:IX86 /nodefaultlib:"LIBCMTD" /out:"Release/mysql-server.exe" /machine:IA64 +# Begin Target + +# Name "test_libmysqld - WinIA64 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\client\completion_hash.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\client\mysql.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\client\readline.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\client\sql_string.cpp +# End Source File +# End Group +# Begin Source File + +SOURCE=..\..\lib_release\libmysqld.lib +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqld/libmysqld_ia64.dsp b/VC++Files/libmysqld/libmysqld_ia64.dsp new file mode 100644 index 00000000000..f47936371d6 --- /dev/null +++ b/VC++Files/libmysqld/libmysqld_ia64.dsp @@ -0,0 +1,581 @@ +# Microsoft Developer Studio Project File - Name="libmysqld" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libmysqld - WinIA64 pro +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "libmysqld.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "libmysqld.mak" CFG="libmysqld - WinIA64 pro" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libmysqld - WinIA64 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysqld - WinIA64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysqld - WinIA64 classic" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysqld - WinIA64 pro" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libmysqld - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../zlib" /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 + +!ELSEIF "$(CFG)" == "libmysqld - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "libmysqld___Win64_Debug" +# PROP BASE Intermediate_Dir "libmysqld___Win64_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../zlib" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /X /Fr +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug_tls.lib ..\lib_debug\mysys_tls.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap_tls.lib ..\lib_debug\innodb.lib /nologo /dll /incremental:no /debug /machine:IX86 /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /machine:IA64 + +!ELSEIF "$(CFG)" == "libmysqld - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "libmysqld___Win64_classic" +# PROP BASE Intermediate_Dir "libmysqld___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN64" /D "_WINDOWS" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "USE_TLS" /D "__WIN__" /D LICENSE=Commerical /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 + +!ELSEIF "$(CFG)" == "libmysqld - WinIA64 pro" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "libmysqld___Win64_pro" +# PROP BASE Intermediate_Dir "libmysqld___Win64_pro" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro" +# PROP Intermediate_Dir "pro" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN64" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "EMBEDDED_LIBRARY" /D "USE_TLS" /D "__WIN__" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_MBCS" /D "HAVE_DLOPEN" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "NDEBUG" /D "_WINDOWS" /D "_CONSOLE" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /X /Fr +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_pro/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "libmysqld - WinIA64 Release" +# Name "libmysqld - WinIA64 Debug" +# Name "libmysqld - WinIA64 classic" +# Name "libmysqld - WinIA64 pro" +# Begin Source File + +SOURCE="..\sql-common\client.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE=..\mysys\default.c +# End Source File +# Begin Source File + +SOURCE=..\sql\derror.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\discover.cpp +# End Source File +# Begin Source File + +SOURCE=.\emb_qcache.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\sql\field.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\field_conv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\filesort.cpp +# End Source File +# Begin Source File + +SOURCE=..\client\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\gstream.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_berkeley.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_innodb.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hash_filo.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hostname.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\init.cpp +# End Source File +# Begin Source File + +SOURCE=..\strings\int2str.c +# End Source File +# Begin Source File + +SOURCE=..\sql\item.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_buff.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_cmpfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_func.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_geofunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_row.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_strfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_subselect.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_sum.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_timefunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_uniq.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\key.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib_sql.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\libmysql.c +# End Source File +# Begin Source File + +SOURCE=.\libmysqld.c +# End Source File +# Begin Source File + +SOURCE=.\libmysqld.def +# End Source File +# Begin Source File + +SOURCE=..\sql\lock.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\mf_iocache.cpp +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getopt.c +# End Source File +# Begin Source File + +SOURCE="..\sql-common\my_time.c" +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_range.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_sum.cpp +# End Source File +# Begin Source File + +SOURCE="..\sql-common\pack.c" +# End Source File +# Begin Source File + +SOURCE=..\libmysql\password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\procedure.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\protocol.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\records.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\repl_failsafe.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\set_var.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\spatial.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_acl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_base.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_class.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_db.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_delete.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_derived.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_do.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_error.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_help.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_insert.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_lex.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_list.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_load.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_map.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_parse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_prepare.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_select.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_show.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_state.c +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_string.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_test.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_udf.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_union.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_update.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_yacc.cpp +# End Source File +# Begin Source File + +SOURCE=..\strings\str2int.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcont.c +# End Source File +# Begin Source File + +SOURCE=..\sql\strfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\strings\strinstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=..\sql\table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\thr_malloc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\time.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\tztime.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\uniques.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\unireg.cpp +# End Source File +# Begin Source File + +SOURCE=..\vio\vio.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosocket.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viossl.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosslfactories.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqltest/myTest-package_ia64.dsp b/VC++Files/libmysqltest/myTest-package_ia64.dsp new file mode 100644 index 00000000000..ef80a773815 --- /dev/null +++ b/VC++Files/libmysqltest/myTest-package_ia64.dsp @@ -0,0 +1,92 @@ +# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myTest - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myTest.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myTest - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myTest - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=xicl6.exe +RSC=rc.exe + +!IF "$(CFG)" == "myTest - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /I "..\include" /D"NDEBUG" /D"DBUG_UFF" /D"_CONSOLE" /D"_MBCS" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=xilink6.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 /libpath:"..\lib_release" /incremental:no + +!ELSEIF "$(CFG)" == "myTest - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Z7 /I "..\include" /D"_DEBUG" /D"_CONSOLE" /D"_MBCS" /FD /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=xilink6.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 /libpath:"..\lib_debug" /incremental:no + +!ENDIF + +# Begin Target + +# Name "myTest - WinIA64 Release" +# Name "myTest - WinIA64 Debug" +# Begin Source File + +SOURCE=.\Mytest.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqltest/myTest_ia64.dsp b/VC++Files/libmysqltest/myTest_ia64.dsp new file mode 100644 index 00000000000..9b603082535 --- /dev/null +++ b/VC++Files/libmysqltest/myTest_ia64.dsp @@ -0,0 +1,94 @@ +# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myTest - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myTest.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myTest - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myTest - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myTest - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /I "..\include" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /libpath:"..\lib_release" /machine:IA64 + +!ELSEIF "$(CFG)" == "myTest - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myTest - WinIA64 Release" +# Name "myTest - WinIA64 Debug" +# Begin Source File + +SOURCE=.\Mytest.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/merge/merge_ia64.dsp b/VC++Files/merge/merge_ia64.dsp new file mode 100644 index 00000000000..7b93f596997 --- /dev/null +++ b/VC++Files/merge/merge_ia64.dsp @@ -0,0 +1,134 @@ +# Microsoft Developer Studio Project File - Name="merge" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=merge - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "merge.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "merge.mak" CFG="merge - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "merge - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "merge - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "merge - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\merge.lib" + +!ELSEIF "$(CFG)" == "merge - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WinIA64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\merge.lib" + +!ENDIF + +# Begin Target + +# Name "merge - WinIA64 Release" +# Name "merge - WinIA64 Debug" +# Begin Source File + +SOURCE=.\mrg_close.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_create.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_delete.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_extra.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_info.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_locking.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_open.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_panic.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_static.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_update.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp b/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp new file mode 100644 index 00000000000..ed52d8363bb --- /dev/null +++ b/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp @@ -0,0 +1,132 @@ +# Microsoft Developer Studio Project File - Name="my_print_defaults" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=my_print_defaults - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "my_print_defaults.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "my_print_defaults.mak" CFG="my_print_defaults - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "my_print_defaults - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "my_print_defaults - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "my_print_defaults - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "my_print_defaults - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/my_print_defaults.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "my_print_defaults - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /RTC1 /c +# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /RTC1 /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /nodefaultlib:"LIBCMTD.lib" /out:"../client_debug/my_print_defaults.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "my_print_defaults - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "my_print_defaults___Win64_classic" +# PROP BASE Intermediate_Dir "my_print_defaults___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../include" /D "WIN64" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_CONSOLE" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/my_print_defaults.exe" /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/my_print_defaults.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "my_print_defaults - WinIA64 Release" +# Name "my_print_defaults - WinIA64 Debug" +# Name "my_print_defaults - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\extra\my_print_defaults.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisam/myisam_ia64.dsp b/VC++Files/myisam/myisam_ia64.dsp new file mode 100644 index 00000000000..3602eb87c20 --- /dev/null +++ b/VC++Files/myisam/myisam_ia64.dsp @@ -0,0 +1,366 @@ +# Microsoft Developer Studio Project File - Name="myisam" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=myisam - WinIA64 TLS +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myisam.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myisam.mak" CFG="myisam - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisam - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "myisam - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "myisam - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "myisam - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisam - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\myisam.lib" + +!ELSEIF "$(CFG)" == "myisam - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_Debug\myisam.lib" + +!ELSEIF "$(CFG)" == "myisam - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "myisam___Win64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "myisam___Win64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "myisam___Win64_TLS_DEBUG" +# PROP Intermediate_Dir "myisam___Win64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /Fo".\Debug/" /Fd".\Debug/" /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_Debug\myisam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_Debug\myisam_tls.lib" + +!ELSEIF "$(CFG)" == "myisam - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisam___Win64_TLS" +# PROP BASE Intermediate_Dir "myisam___Win64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "myisam___Win64_TLS" +# PROP Intermediate_Dir "myisam___Win64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\myisam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\myisam_tls.lib" + +!ENDIF + +# Begin Target + +# Name "myisam - WinIA64 Release" +# Name "myisam - WinIA64 Debug" +# Name "myisam - WinIA64 TLS_DEBUG" +# Name "myisam - WinIA64 TLS" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\ft_boolean_search.c +# End Source File +# Begin Source File + +SOURCE=.\ft_nlq_search.c +# End Source File +# Begin Source File + +SOURCE=.\ft_parser.c +# End Source File +# Begin Source File + +SOURCE=.\ft_static.c +# End Source File +# Begin Source File + +SOURCE=.\ft_stem.c +# End Source File +# Begin Source File + +SOURCE=.\ft_stopwords.c +# End Source File +# Begin Source File + +SOURCE=.\ft_update.c +# End Source File +# Begin Source File + +SOURCE=.\mi_cache.c +# End Source File +# Begin Source File + +SOURCE=.\mi_changed.c +# End Source File +# Begin Source File + +SOURCE=.\mi_check.c +# End Source File +# Begin Source File + +SOURCE=.\mi_checksum.c +# End Source File +# Begin Source File + +SOURCE=.\mi_close.c +# End Source File +# Begin Source File + +SOURCE=.\mi_create.c +# End Source File +# Begin Source File + +SOURCE=.\mi_dbug.c +# End Source File +# Begin Source File + +SOURCE=.\mi_delete.c +# End Source File +# Begin Source File + +SOURCE=.\mi_delete_all.c +# End Source File +# Begin Source File + +SOURCE=.\mi_delete_table.c +# End Source File +# Begin Source File + +SOURCE=.\mi_dynrec.c +# End Source File +# Begin Source File + +SOURCE=.\mi_extra.c +# End Source File +# Begin Source File + +SOURCE=.\mi_info.c +# End Source File +# Begin Source File + +SOURCE=.\mi_key.c +# End Source File +# Begin Source File + +SOURCE=.\mi_keycache.c +# End Source File +# Begin Source File + +SOURCE=.\mi_locking.c +# End Source File +# Begin Source File + +SOURCE=.\mi_log.c +# End Source File +# Begin Source File + +SOURCE=.\mi_open.c +# End Source File +# Begin Source File + +SOURCE=.\mi_packrec.c +# End Source File +# Begin Source File + +SOURCE=.\mi_page.c +# End Source File +# Begin Source File + +SOURCE=.\mi_panic.c +# End Source File +# Begin Source File + +SOURCE=.\mi_preload.c +# End Source File +# Begin Source File + +SOURCE=.\mi_range.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rename.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rkey.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rlast.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rnext.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rnext_same.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rprev.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rsamepos.c +# End Source File +# Begin Source File + +SOURCE=.\mi_scan.c +# End Source File +# Begin Source File + +SOURCE=.\mi_search.c +# End Source File +# Begin Source File + +SOURCE=.\mi_static.c +# End Source File +# Begin Source File + +SOURCE=.\mi_statrec.c +# End Source File +# Begin Source File + +SOURCE=.\mi_unique.c +# End Source File +# Begin Source File + +SOURCE=.\mi_update.c +# End Source File +# Begin Source File + +SOURCE=.\mi_write.c +# End Source File +# Begin Source File + +SOURCE=.\rt_index.c +# End Source File +# Begin Source File + +SOURCE=.\rt_key.c +# End Source File +# Begin Source File + +SOURCE=.\rt_mbr.c +# End Source File +# Begin Source File + +SOURCE=.\rt_split.c +# End Source File +# Begin Source File + +SOURCE=.\sort.c +# End Source File +# Begin Source File + +SOURCE=.\sp_key.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\ft_eval.h +# End Source File +# Begin Source File + +SOURCE=.\myisamdef.h +# End Source File +# Begin Source File + +SOURCE=.\rt_index.h +# End Source File +# End Group +# End Target +# End Project diff --git a/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp b/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp new file mode 100644 index 00000000000..16d6f8253dc --- /dev/null +++ b/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp @@ -0,0 +1,105 @@ +# Microsoft Developer Studio Project File - Name="myisam_ftdump" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisam_ftdump - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myisam_ftdump.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myisam_ftdump.mak" CFG="myisam_ftdump - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisam_ftdump - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisam_ftdump - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisam_ftdump - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisam_ftdump.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisam_ftdump - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_debug\zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/myisam_ftdump.exe" t /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myisam_ftdump - WinIA64 Release" +# Name "myisam_ftdump - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisam_ftdump.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisamchk/myisamchk_ia64.dsp b/VC++Files/myisamchk/myisamchk_ia64.dsp new file mode 100644 index 00000000000..026cb31e2b8 --- /dev/null +++ b/VC++Files/myisamchk/myisamchk_ia64.dsp @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Project File - Name="myisamchk" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisamchk - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myisamchk.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myisamchk.mak" CFG="myisamchk - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisamchk - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamchk - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamchk - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisamchk - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisamchk.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisamchk - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/myisamchk.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisamchk - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisamchk___Win64_classic" +# PROP BASE Intermediate_Dir "myisamchk___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FR /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisamchk.exe" /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/myisamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myisamchk - WinIA64 Release" +# Name "myisamchk - WinIA64 Debug" +# Name "myisamchk - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisamchk.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisamlog/myisamlog_ia64.dsp b/VC++Files/myisamlog/myisamlog_ia64.dsp new file mode 100644 index 00000000000..6025f82d3fd --- /dev/null +++ b/VC++Files/myisamlog/myisamlog_ia64.dsp @@ -0,0 +1,138 @@ +# Microsoft Developer Studio Project File - Name="myisamlog" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisamlog - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myisamlog.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myisamlog.mak" CFG="myisamlog - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisamlog - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamlog - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamlog - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisamlog - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /machine:IX86 /out:"../client_release/myisamlog.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "myisamlog - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /pdb:"debug/myisamchk.pdb" /debug /machine:IX86 /out:"../client_debug/myisamlog.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "myisamlog - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisamlog___Win64_classic" +# PROP BASE Intermediate_Dir "myisamlog___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /machine:IX86 /out:"../client_release/myisamlog.exe" /machine:IA64 +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /machine:IX86 /out:"../client_classic/myisamlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "myisamlog - WinIA64 Release" +# Name "myisamlog - WinIA64 Debug" +# Name "myisamlog - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisamlog.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisammrg/myisammrg_ia64.dsp b/VC++Files/myisammrg/myisammrg_ia64.dsp new file mode 100644 index 00000000000..4ac6a1e8081 --- /dev/null +++ b/VC++Files/myisammrg/myisammrg_ia64.dsp @@ -0,0 +1,233 @@ +# Microsoft Developer Studio Project File - Name="myisammrg" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=myisammrg - WinIA64 TLS +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myisammrg.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myisammrg.mak" CFG="myisammrg - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisammrg - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "myisammrg - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "myisammrg - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "myisammrg - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisammrg - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\myisammrg.lib" + +!ELSEIF "$(CFG)" == "myisammrg - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_Debug\myisammrg.lib" + +!ELSEIF "$(CFG)" == "myisammrg - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP BASE Intermediate_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP Intermediate_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /Fo".\Debug/" /Fd".\Debug/" /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_Debug\myisammrg_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_Debug\myisammrg_tls.lib" + +!ELSEIF "$(CFG)" == "myisammrg - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisammrg___WinIA64 _TLS" +# PROP BASE Intermediate_Dir "myisammrg___WinIA64 _TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "myisammrg___WinIA64 _TLS" +# PROP Intermediate_Dir "myisammrg___WinIA64 _TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\myisammrg_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\myisammrg_tls.lib" + +!ENDIF + +# Begin Target + +# Name "myisammrg - WinIA64 Release" +# Name "myisammrg - WinIA64 Debug" +# Name "myisammrg - WinIA64 TLS_DEBUG" +# Name "myisammrg - WinIA64 TLS" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\myrg_close.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_create.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_delete.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_extra.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_info.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_locking.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_open.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_panic.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_queue.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_range.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rkey.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rlast.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rnext.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rnext_same.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rprev.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_static.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_update.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_write.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\mymrgdef.h +# End Source File +# End Group +# End Target +# End Project diff --git a/VC++Files/myisampack/myisampack_ia64.dsp b/VC++Files/myisampack/myisampack_ia64.dsp new file mode 100644 index 00000000000..e482e243220 --- /dev/null +++ b/VC++Files/myisampack/myisampack_ia64.dsp @@ -0,0 +1,138 @@ +# Microsoft Developer Studio Project File - Name="myisampack" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisampack - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myisampack.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myisampack.mak" CFG="myisampack - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisampack - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisampack - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "myisampack - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisampack - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisampack.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisampack - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/myisampack.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisampack - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisampack___Win64_classic" +# PROP BASE Intermediate_Dir "myisampack___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisampack.exe" /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/myisampack.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myisampack - WinIA64 Release" +# Name "myisampack - WinIA64 Debug" +# Name "myisampack - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisampack.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\myisampack.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp b/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp new file mode 100644 index 00000000000..fc7e274b5be --- /dev/null +++ b/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp @@ -0,0 +1,140 @@ +# Microsoft Developer Studio Project File - Name="mysql_test_run_new" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysql_test_run_new - WinIA64 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysql_test_run_new.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysql_test_run_new.mak" CFG="mysql_test_run_new - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysql_test_run_new - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysql_test_run_new - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysql_test_run_new - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir ".\Debug" +# PROP BASE Intermediate_Dir ".\Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir ".\Debug" +# PROP Intermediate_Dir ".\Debug" +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /WinIA64 +# ADD MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /WinIA64 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Z7 /Od /I "../include" /I "../" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GZ /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /map /debug /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /incremental:no /map /debug /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysql_test_run_new - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\Release" +# PROP BASE Intermediate_Dir ".\Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\Release" +# PROP Intermediate_Dir ".\Release" +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /WinIA64 +# ADD MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /WinIA64 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Ob1 /Gy /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /GF /c +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GF /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" t +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "mysql_test_run_new - WinIA64 Debug" +# Name "mysql_test_run_new - WinIA64 Release" +# Begin Source File + +SOURCE=.\my_create_tables.c +DEP_CPP_MY_CR=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\m_string.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_global.h"\ + ".\my_manage.h"\ + +# End Source File +# Begin Source File + +SOURCE=.\my_manage.c +DEP_CPP_MY_MA=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\m_string.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_global.h"\ + ".\my_manage.h"\ + +# End Source File +# Begin Source File + +SOURCE=.\my_manage.h +# End Source File +# Begin Source File + +SOURCE=.\mysql_test_run_new.c +DEP_CPP_MYSQL=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\m_string.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_global.h"\ + ".\my_manage.h"\ + +# End Source File +# End Target +# End Project diff --git a/VC++Files/mysql_ia64.dsw b/VC++Files/mysql_ia64.dsw new file mode 100644 index 00000000000..a7368d09da6 --- /dev/null +++ b/VC++Files/mysql_ia64.dsw @@ -0,0 +1,884 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "MySqlManager"=".\mysqlmanager\MySqlManager_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient_ia64 + End Project Dependency +}}} + +############################################################################### + +Project: "bdb"=".\bdb\bdb_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "comp_err"=".\comp_err\comp_err_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "dbug"=".\dbug\dbug_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "heap"=".\heap\heap_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "innobase"=".\innobase\innobase_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "isam"=".\isam\isam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "isamchk"=".\isamchk\isamchk_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name isam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "libmysql"=".\libmysql\libmysql_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "libmysqld"=".\libmysqld\libmysqld_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name heap + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "merge"=".\merge\merge_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "myTest"=".\libmysqltest\myTest_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libmysql + End Project Dependency +}}} + +############################################################################### + +Project: "my_print_defaults"=".\my_print_defaults\my_print_defaults_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "myisam"=".\myisam\myisam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "myisam_ftdump"=".\myisam_ftdump\myisam_ftdump_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "myisamchk"=".\myisamchk\myisamchk_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "myisamlog"=".\myisamlog\myisamlog_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "myisammrg"=".\myisammrg\myisammrg_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "myisampack"=".\myisampack\myisampack_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysql"=".\client\mysql_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqladmin"=".\client\mysqladmin_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlbinlog"=".\mysqlbinlog\mysqlbinlog_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlcheck"=".\mysqlcheck\mysqlcheck_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlclient"=".\client\mysqlclient_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysqld"=".\sql\mysqld_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name heap_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name isam_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name merge_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysql_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqladmin_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqldump + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqlimport + End Project Dependency + Begin Project Dependency + Project_Dep_Name MySqlManager + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqlshow + End Project Dependency + Begin Project Dependency + Project_Dep_Name myTest + End Project Dependency + Begin Project Dependency + Project_Dep_Name thr_test + End Project Dependency + Begin Project Dependency + Project_Dep_Name replace + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name bdb + End Project Dependency + Begin Project Dependency + Project_Dep_Name vio + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency +}}} + +############################################################################### + +Project: "mysqldemb"=".\mysqldemb\mysqldemb_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysqldump"=".\client\mysqldump_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlimport"=".\client\mysqlimport_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlserver"=".\mysqlserver\mysqlserver_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name heap + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency + Begin Project Dependency + Project_Dep_Name merge + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqldemb + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlshow"=".\client\mysqlshow_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlshutdown"=".\mysqlshutdown\mysqlshutdown_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysqlwatch"=".\mysqlwatch\mysqlwatch_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysys"=".\mysys\mysys_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pack_isam"=".\pack_isam\pack_isam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name isam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "perror"=".\perror\perror_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "regex"=".\regex\regex_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "replace"=".\replace\replace_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "strings"=".\strings\strings_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "test1"=".\test1\test1_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libmysql + End Project Dependency +}}} + +############################################################################### + +Project: "test_libmysqld"=".\libmysqld\examples\test_libmysqld_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libmysqld + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "thr_test"=".\thr_test\thr_test_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "vio"=".\vio\vio_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "zlib"=".\zlib\zlib_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysqltest"=.\client\mysqltest_ia64.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + + +Package=<4> +{{{ Begin Project Dependency + Project_Dep_Name libmysql + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency +}}} + +############################################################################### + +Project: "mysql_client_test"=.\tests\mysql_client_test_ia64.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + + +Project: "mysql_test_run_new"=".\mysql-test\mysql_test_run_new_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ Begin Project Dependency + Project_Dep_Name mysqltest + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqladmin + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysql_client_test + End Project Dependency +}}} + + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### diff --git a/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp b/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp new file mode 100644 index 00000000000..b8ec68ff1e1 --- /dev/null +++ b/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp @@ -0,0 +1,139 @@ +# Microsoft Developer Studio Project File - Name="mysqlbinlog" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlbinlog - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlbinlog.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlbinlog.mak" CFG="mysqlbinlog - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlbinlog - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlbinlog - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlbinlog - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlbinlog - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "eelease" +# PROP Intermediate_Dir "eelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /I "../sql" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqlbinlog - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /I "../sql" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlbinlog.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlbinlog - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlbinlog___Win64_classic" +# PROP BASE Intermediate_Dir "mysqlbinlog___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /I "../sql" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /I "../sql" /D "MYSQL_SERVER" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ENDIF + +# Begin Target + +# Name "mysqlbinlog - WinIA64 Release" +# Name "mysqlbinlog - WinIA64 Debug" +# Name "mysqlbinlog - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\mysys\mf_tempdir.c +# End Source File +# Begin Source File + +SOURCE=..\client\mysqlbinlog.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp b/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp new file mode 100644 index 00000000000..f97f5e07bcf --- /dev/null +++ b/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp @@ -0,0 +1,132 @@ +# Microsoft Developer Studio Project File - Name="mysqlcheck" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlcheck - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlcheck.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlcheck.mak" CFG="mysqlcheck - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlcheck - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlcheck - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlcheck - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlcheck - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlcheck - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlcheck.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlcheck - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlcheck___Win64_classic" +# PROP BASE Intermediate_Dir "mysqlcheck___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "MYSQL_SERVER" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlcheck - WinIA64 Release" +# Name "mysqlcheck - WinIA64 Debug" +# Name "mysqlcheck - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\client\mysqlcheck.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqldemb/mysqldemb_ia64.dsp b/VC++Files/mysqldemb/mysqldemb_ia64.dsp new file mode 100644 index 00000000000..5b54a7756e1 --- /dev/null +++ b/VC++Files/mysqldemb/mysqldemb_ia64.dsp @@ -0,0 +1,447 @@ +# Microsoft Developer Studio Project File - Name="mysqldemb" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysqldemb - WinIA64 pro +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqldemb.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqldemb.mak" CFG="mysqldemb - WinIA64 pro" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqldemb - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqldemb - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqldemb - WinIA64 classic" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqldemb - WinIA64 pro" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqldemb - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../bdb/build_WinIA64" /I "../zlib" /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "mysqldemb - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../zlib" /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../bdb/build_WinIA64" /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"../lib_debug/mysqldemb.lib" + +!ELSEIF "$(CFG)" == "mysqldemb - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqldemb___WinIA64 _classic" +# PROP BASE Intermediate_Dir "mysqldemb___WinIA64 _classic" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_LIB" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "USE_TLS" /D "__WIN__" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_classic\mysqldemb.lib" + +!ELSEIF "$(CFG)" == "mysqldemb - WinIA64 pro" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqldemb___WinIA64 _pro" +# PROP BASE Intermediate_Dir "mysqldemb___WinIA64 _pro" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro" +# PROP Intermediate_Dir "pro" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_LIB" /D "SIGNAL_WITH_VIO_CLOSE" /D "EMBEDDED_LIBRARY" /D "USE_TLS" /D "__WIN__" /D "USE_SYMDIR" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_MBCS" /D "HAVE_DLOPEN" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "NDEBUG" /D "_WINDOWS" /D "_CONSOLE" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_pro\mysqldemb.lib" + +!ENDIF + +# Begin Target + +# Name "mysqldemb - WinIA64 Release" +# Name "mysqldemb - WinIA64 Debug" +# Name "mysqldemb - WinIA64 classic" +# Name "mysqldemb - WinIA64 pro" +# Begin Source File + +SOURCE=..\sql\derror.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\sql\field.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\field_conv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\filesort.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_innodb.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hash_filo.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hostname.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\init.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_buff.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_cmpfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_func.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_row.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_strfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_subselect.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_sum.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_timefunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_uniq.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\key.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysqld\lib_sql.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysqld\libmysqld.c +# End Source File +# Begin Source File + +SOURCE=..\sql\lock.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\mf_iocache.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_range.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_sum.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\procedure.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\protocol.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\records.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\repl_failsafe.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\slave.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_acl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_base.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_class.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_db.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_delete.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_derived.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_do.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_error.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_insert.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_lex.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_list.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_map.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_parse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_prepare.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_select.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_show.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_string.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_test.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_udf.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_union.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_update.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_yacc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\thr_malloc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\time.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\uniques.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\unireg.cpp +# End Source File +# End Target +# End Project diff --git a/VC++Files/mysqlmanager/MySqlManager_ia64.dsp b/VC++Files/mysqlmanager/MySqlManager_ia64.dsp new file mode 100644 index 00000000000..98ead530497 --- /dev/null +++ b/VC++Files/mysqlmanager/MySqlManager_ia64.dsp @@ -0,0 +1,276 @@ +# Microsoft Developer Studio Project File - Name="MySqlManager" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=MYSQLMANAGER - WinIA64 DEBUG +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "MySqlManager.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "MySqlManager.mak" CFG="MYSQLMANAGER - WinIA64 DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "MySqlManager - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "MySqlManager - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "MySqlManager - WinIA64 Release" + +# PROP BASE Use_MFC 6 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 6 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX /Yc /Yu +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" +# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 /nologo /subsystem:windows /machine:IX86 /machine:IA64 +# ADD LINK32 /nologo /subsystem:windows /machine:IX86 /out:"../client_release/MySqlManager.exe" /machine:IA64 +# SUBTRACT LINK32 /nodefaultlib + +!ELSEIF "$(CFG)" == "MySqlManager - WinIA64 Debug" + +# PROP BASE Use_MFC 6 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 6 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MTd /W3 /GR /Zi /Od /I "../include" /D "_DEBUG" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX /Yc /Yu +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "_DEBUG" /o "NUL" /win64 +# SUBTRACT MTL /mktyplib203 +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /incremental:no /debug /machine:IX86 /out:"../client_debug/MySqlManager.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "MySqlManager - WinIA64 Release" +# Name "MySqlManager - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\ChildFrm.cpp +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE=..\strings\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=.\MainFrm.cpp +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_sleep.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=.\MySqlManager.cpp +# End Source File +# Begin Source File + +SOURCE=.\MySqlManager.rc +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerDoc.cpp +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerView.cpp +# End Source File +# Begin Source File + +SOURCE=.\RegisterServer.cpp +# End Source File +# Begin Source File + +SOURCE=.\StdAfx.cpp +# ADD CPP /Yc"stdafx.h" +# End Source File +# Begin Source File + +SOURCE=.\ToolSql.cpp +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlQuery.cpp +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlResults.cpp +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlStatus.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\ChildFrm.h +# End Source File +# Begin Source File + +SOURCE=.\MainFrm.h +# End Source File +# Begin Source File + +SOURCE=.\MySqlManager.h +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerDoc.h +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerView.h +# End Source File +# Begin Source File + +SOURCE=.\RegisterServer.h +# End Source File +# Begin Source File + +SOURCE=.\Resource.h +# End Source File +# Begin Source File + +SOURCE=.\StdAfx.h +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlQuery.h +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlResults.h +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlStatus.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\res\bitmap1.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\bitmap3.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\bmp00001.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\bmp00002.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\database.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\fontd.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\fontu.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\MySqlManager.ico +# End Source File +# Begin Source File + +SOURCE=.\res\MySqlManager.rc2 +# End Source File +# Begin Source File + +SOURCE=.\res\MySqlManagerDoc.ico +# End Source File +# Begin Source File + +SOURCE=.\res\query_ex.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\Toolbar.bmp +# End Source File +# End Group +# Begin Source File + +SOURCE=.\ReadMe.txt +# End Source File +# End Target +# End Project diff --git a/VC++Files/mysqlserver/mysqlserver_ia64.dsp b/VC++Files/mysqlserver/mysqlserver_ia64.dsp new file mode 100644 index 00000000000..205a1d1407d --- /dev/null +++ b/VC++Files/mysqlserver/mysqlserver_ia64.dsp @@ -0,0 +1,84 @@ +# Microsoft Developer Studio Project File - Name="mysqlserver" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysqlserver - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlserver.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlserver.mak" CFG="mysqlserver - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlserver - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqlserver - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlserver - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win64" /I "../libmysqld" /D "WIN64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /YX /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "mysqlserver - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win64" /I "libmysqld" /D "WIN64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /YX /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ENDIF + +# Begin Target + +# Name "mysqlserver - WinIA64 Release" +# Name "mysqlserver - WinIA64 Debug" +# End Target +# End Project diff --git a/VC++Files/mysqlshutdown/myshutdown_ia64.dsp b/VC++Files/mysqlshutdown/myshutdown_ia64.dsp new file mode 100644 index 00000000000..1cee7987d5e --- /dev/null +++ b/VC++Files/mysqlshutdown/myshutdown_ia64.dsp @@ -0,0 +1,101 @@ +# Microsoft Developer Studio Project File - Name="myshutdown" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=myshutdown - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "myshutdown.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "myshutdown.mak" CFG="myshutdown - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myshutdown - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "myshutdown - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myshutdown - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /D"WIN64" /D"NDEBUG" /D"_WINDOWS" /D"_MBCS" /YX /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IA64 /incremental:no + +!ELSEIF "$(CFG)" == "myshutdown - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /D"WIN64" /D"_DEBUG" /D"_WINDOWS" /D"_MBCS" /YX /FD /GZ /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:IA64 /incremental:no + +!ENDIF + +# Begin Target + +# Name "myshutdown - WinIA64 Release" +# Name "myshutdown - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp b/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp new file mode 100644 index 00000000000..41d38a102b8 --- /dev/null +++ b/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp @@ -0,0 +1,119 @@ +# Microsoft Developer Studio Project File - Name="mysqlshutdown" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=mysqlshutdown - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlshutdown.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlshutdown.mak" CFG="mysqlshutdown - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlshutdown - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "mysqlshutdown - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlshutdown - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /out:"../client_release/mysqlshutdown.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlshutdown - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlshutdown___Win64_Debug" +# PROP BASE Intermediate_Dir "mysqlshutdown___Win64_Debug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /W3 /Zi /Od /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /out:"../client_release/mysqlshutdown.exe" /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /out:"../client_debug/mysqlshutdown.exe" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlshutdown - WinIA64 Release" +# Name "mysqlshutdown - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\mysqlshutdown.c +# End Source File +# Begin Source File + +SOURCE=.\mysqlshutdown.rc +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\mysql.ico +# End Source File +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp b/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp new file mode 100644 index 00000000000..7f544adf01d --- /dev/null +++ b/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp @@ -0,0 +1,71 @@ +# Microsoft Developer Studio Project File - Name="mysqlwatch" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlwatch - WinIA64 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqlwatch.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqlwatch.mak" CFG="mysqlwatch - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlwatch - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlwatch.exe" /machine:IA64 +# Begin Target + +# Name "mysqlwatch - WinIA64 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\mysqlwatch.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysys/mysys_ia64.dsp b/VC++Files/mysys/mysys_ia64.dsp new file mode 100644 index 00000000000..ed2dac53579 --- /dev/null +++ b/VC++Files/mysys/mysys_ia64.dsp @@ -0,0 +1,619 @@ +# Microsoft Developer Studio Project File - Name="mysys" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysys - WinIA64 TLS +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysys.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysys.mak" CFG="mysys - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysys - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 Max" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysys - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\mysys.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\mysys.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Max" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysys___WinIA64_Max" +# PROP BASE Intermediate_Dir "mysys___WinIA64_Max" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max" +# PROP Intermediate_Dir "max" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../zlib" /D "USE_SYMDIR" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-max /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\mysys.lib" +# ADD LIB32 /nologo /out:"..\lib_release\mysys-max.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_debug\mysys_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\mysys_tls.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysys___WinIA64_TLS" +# PROP BASE Intermediate_Dir "mysys___WinIA64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "mysys___WinIA64_TLS" +# PROP Intermediate_Dir "mysys___WinIA64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\mysys_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\mysys_tls.lib" + +!ENDIF + +# Begin Target + +# Name "mysys - WinIA64 Release" +# Name "mysys - WinIA64 Debug" +# Name "mysys - WinIA64 Max" +# Name "mysys - WinIA64 TLS_DEBUG" +# Name "mysys - WinIA64 TLS" +# Begin Source File + +SOURCE=.\array.c + +!IF "$(CFG)" == "mysys - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Debug" + +# SUBTRACT CPP /Fr + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS_DEBUG" + +# ADD BASE CPP /FR +# ADD CPP /Zi /O2 /FR /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=".\charset-def.c" +# End Source File +# Begin Source File + +SOURCE=.\charset.c +# End Source File +# Begin Source File + +SOURCE=.\checksum.c +# End Source File +# Begin Source File + +SOURCE=.\default.c +# End Source File +# Begin Source File + +SOURCE=.\errors.c +# End Source File +# Begin Source File + +SOURCE=.\hash.c +# End Source File +# Begin Source File + +SOURCE=.\list.c +# End Source File +# Begin Source File + +SOURCE=.\md5.c +# End Source File +# Begin Source File + +SOURCE=.\mf_brkhant.c +# End Source File +# Begin Source File + +SOURCE=.\mf_cache.c +# End Source File +# Begin Source File + +SOURCE=.\mf_dirname.c +# End Source File +# Begin Source File + +SOURCE=.\mf_fn_ext.c +# End Source File +# Begin Source File + +SOURCE=.\mf_format.c +# End Source File +# Begin Source File + +SOURCE=.\mf_getdate.c +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache.c +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache2.c +# End Source File +# Begin Source File + +SOURCE=.\mf_keycache.c +# End Source File +# Begin Source File + +SOURCE=.\mf_keycaches.c +# End Source File +# Begin Source File + +SOURCE=.\mf_loadpath.c +# End Source File +# Begin Source File + +SOURCE=.\mf_pack.c +# End Source File +# Begin Source File + +SOURCE=.\mf_path.c +# End Source File +# Begin Source File + +SOURCE=.\mf_qsort.c +# End Source File +# Begin Source File + +SOURCE=.\mf_qsort2.c +# End Source File +# Begin Source File + +SOURCE=.\mf_radix.c +# End Source File +# Begin Source File + +SOURCE=.\mf_same.c +# End Source File +# Begin Source File + +SOURCE=.\mf_sort.c +# End Source File +# Begin Source File + +SOURCE=.\mf_soundex.c +# End Source File +# Begin Source File + +SOURCE=.\mf_strip.c +# End Source File +# Begin Source File + +SOURCE=.\mf_tempdir.c +# End Source File +# Begin Source File + +SOURCE=.\mf_tempfile.c +# End Source File +# Begin Source File + +SOURCE=.\mf_wcomp.c +# End Source File +# Begin Source File + +SOURCE=.\mf_wfile.c +# End Source File +# Begin Source File + +SOURCE=.\mulalloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_aes.c +# End Source File +# Begin Source File + +SOURCE=.\my_alarm.c +# End Source File +# Begin Source File + +SOURCE=.\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_append.c +# End Source File +# Begin Source File + +SOURCE=.\my_bit.c +# End Source File +# Begin Source File + +SOURCE=.\my_bitmap.c +# End Source File +# Begin Source File + +SOURCE=.\my_chsize.c +# End Source File +# Begin Source File + +SOURCE=.\my_clock.c +# End Source File +# Begin Source File + +SOURCE=.\my_compress.c +# End Source File +# Begin Source File + +SOURCE=.\my_copy.c +# End Source File +# Begin Source File + +SOURCE=.\my_crc32.c +# End Source File +# Begin Source File + +SOURCE=.\my_create.c +# End Source File +# Begin Source File + +SOURCE=.\my_delete.c +# End Source File +# Begin Source File + +SOURCE=.\my_div.c +# End Source File +# Begin Source File + +SOURCE=.\my_error.c +# End Source File +# Begin Source File + +SOURCE=.\my_file.c +# End Source File +# Begin Source File + +SOURCE=.\my_fopen.c +# End Source File +# Begin Source File + +SOURCE=.\my_fstream.c +# End Source File +# Begin Source File + +SOURCE=.\my_gethostbyname.c +# End Source File +# Begin Source File + +SOURCE=.\my_gethwaddr.c +# End Source File +# Begin Source File + +SOURCE=.\my_getopt.c +# End Source File +# Begin Source File + +SOURCE=.\my_getsystime.c +# End Source File +# Begin Source File + +SOURCE=.\my_getwd.c +# End Source File +# Begin Source File + +SOURCE=.\my_handler.c +# End Source File +# Begin Source File + +SOURCE=.\my_init.c +# End Source File +# Begin Source File + +SOURCE=.\my_lib.c +# End Source File +# Begin Source File + +SOURCE=.\my_lock.c +# End Source File +# Begin Source File + +SOURCE=.\my_lockmem.c +# End Source File +# Begin Source File + +SOURCE=.\my_lread.c +# End Source File +# Begin Source File + +SOURCE=.\my_lwrite.c +# End Source File +# Begin Source File + +SOURCE=.\my_malloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_messnc.c +# End Source File +# Begin Source File + +SOURCE=.\my_mkdir.c +# End Source File +# Begin Source File + +SOURCE=.\my_net.c +# End Source File +# Begin Source File + +SOURCE=.\my_once.c +# End Source File +# Begin Source File + +SOURCE=.\my_open.c +# End Source File +# Begin Source File + +SOURCE=.\my_pread.c +# End Source File +# Begin Source File + +SOURCE=.\my_pthread.c +# End Source File +# Begin Source File + +SOURCE=.\my_quick.c +# End Source File +# Begin Source File + +SOURCE=.\my_read.c +# End Source File +# Begin Source File + +SOURCE=.\my_realloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_redel.c +# End Source File +# Begin Source File + +SOURCE=.\my_rename.c +# End Source File +# Begin Source File + +SOURCE=.\my_seek.c +# End Source File +# Begin Source File + +SOURCE=.\my_sleep.c +# End Source File +# Begin Source File + +SOURCE=.\my_static.c +# End Source File +# Begin Source File + +SOURCE=.\my_static.h +# End Source File +# Begin Source File + +SOURCE=.\my_symlink.c +# End Source File +# Begin Source File + +SOURCE=.\my_symlink2.c +# End Source File +# Begin Source File + +SOURCE=.\my_sync.c +# End Source File +# Begin Source File + +SOURCE=.\my_tempnam.c +# End Source File +# Begin Source File + +SOURCE=.\my_thr_init.c +# End Source File +# Begin Source File + +SOURCE=.\my_wincond.c +# End Source File +# Begin Source File + +SOURCE=.\my_winsem.c +# End Source File +# Begin Source File + +SOURCE=.\my_winthread.c +# End Source File +# Begin Source File + +SOURCE=.\my_write.c +# End Source File +# Begin Source File + +SOURCE=.\mysys_priv.h +# End Source File +# Begin Source File + +SOURCE=.\ptr_cmp.c +# End Source File +# Begin Source File + +SOURCE=.\queues.c +# End Source File +# Begin Source File + +SOURCE=.\raid.cpp +# End Source File +# Begin Source File + +SOURCE=.\rijndael.c +# End Source File +# Begin Source File + +SOURCE=.\safemalloc.c +# End Source File +# Begin Source File + +SOURCE=.\sha1.c +# End Source File +# Begin Source File + +SOURCE=.\string.c +# End Source File +# Begin Source File + +SOURCE=.\thr_alarm.c +# End Source File +# Begin Source File + +SOURCE=.\thr_lock.c + +!IF "$(CFG)" == "mysys - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Debug" + +# ADD CPP /Zi /Od /D "EXTRA_DEBUG" /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS_DEBUG" + +# ADD BASE CPP /D "EXTRA_DEBUG" +# ADD CPP /Zi /O2 /D "EXTRA_DEBUG" /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\thr_mutex.c +# End Source File +# Begin Source File + +SOURCE=.\thr_rwlock.c +# End Source File +# Begin Source File + +SOURCE=.\tree.c +# End Source File +# Begin Source File + +SOURCE=.\typelib.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/pack_isam/pack_isam_ia64.dsp b/VC++Files/pack_isam/pack_isam_ia64.dsp new file mode 100644 index 00000000000..b50c94dd814 --- /dev/null +++ b/VC++Files/pack_isam/pack_isam_ia64.dsp @@ -0,0 +1,133 @@ +# Microsoft Developer Studio Project File - Name="pack_isam" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=pack_isam - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pack_isam.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pack_isam.mak" CFG="pack_isam - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pack_isam - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "pack_isam - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "pack_isam - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "pack_isam - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/pack_isam.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "pack_isam - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../isam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/pack_isam.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "pack_isam - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "pack_isam___WinIA64 _classic" +# PROP BASE Intermediate_Dir "pack_isam___WinIA64 _classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/pack_isam.exe" /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/pack_isam.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "pack_isam - WinIA64 Release" +# Name "pack_isam - WinIA64 Debug" +# Name "pack_isam - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\isam\pack_isam.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/perror/perror_ia64.dsp b/VC++Files/perror/perror_ia64.dsp new file mode 100644 index 00000000000..278b0ad292d --- /dev/null +++ b/VC++Files/perror/perror_ia64.dsp @@ -0,0 +1,140 @@ +# Microsoft Developer Studio Project File - Name="perror" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=perror - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "perror.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "perror.mak" CFG="perror - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "perror - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "perror - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE "perror - WinIA64 classic" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "perror - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/perror.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "perror - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /incremental:no /debug /machine:IA64 + +!ELSEIF "$(CFG)" == "perror - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "perror___Win64_classic" +# PROP BASE Intermediate_Dir "perror___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/perror.exe" /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/perror.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "perror - WinIA64 Release" +# Name "perror - WinIA64 Debug" +# Name "perror - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\extra\perror.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/regex/regex_ia64.dsp b/VC++Files/regex/regex_ia64.dsp new file mode 100644 index 00000000000..96088e1ce09 --- /dev/null +++ b/VC++Files/regex/regex_ia64.dsp @@ -0,0 +1,114 @@ +# Microsoft Developer Studio Project File - Name="regex" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=regex - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "regex.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "regex.mak" CFG="regex - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "regex - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "regex - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "regex - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "./" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\regex.lib" + +!ELSEIF "$(CFG)" == "regex - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "./" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GF /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\regex.lib" + +!ENDIF + +# Begin Target + +# Name "regex - WinIA64 Release" +# Name "regex - WinIA64 Debug" +# Begin Source File + +SOURCE=.\debug.c +# End Source File +# Begin Source File + +SOURCE=.\regcomp.c +# End Source File +# Begin Source File + +SOURCE=.\regerror.c +# End Source File +# Begin Source File + +SOURCE=.\regexec.c +# End Source File +# Begin Source File + +SOURCE=.\regfree.c +# End Source File +# Begin Source File + +SOURCE=.\reginit.c +# End Source File +# Begin Source File + +SOURCE=.\split.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/replace/replace_ia64.dsp b/VC++Files/replace/replace_ia64.dsp new file mode 100644 index 00000000000..4167e9ef255 --- /dev/null +++ b/VC++Files/replace/replace_ia64.dsp @@ -0,0 +1,125 @@ +# Microsoft Developer Studio Project File - Name="replace" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=replace - WinIA64 classic +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "replace.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "replace.mak" CFG="replace - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "replace - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "replace - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "replace - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "replace - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "Win64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "Win64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "NDEBUG" +# ADD RSC /l 0x40b /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/replace.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "replace - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "Win64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "Win64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "_DEBUG" +# ADD RSC /l 0x40b /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /machine:IX86 /out:"../client_debug/replace.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "replace - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "replace___Win64_classic" +# PROP BASE Intermediate_Dir "replace___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "Win64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "NDEBUG" +# ADD RSC /l 0x40b /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/replace.exe" /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/replace.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "replace - WinIA64 Release" +# Name "replace - WinIA64 Debug" +# Name "replace - WinIA64 classic" +# Begin Source File + +SOURCE=..\extra\replace.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/sql/mysqld_ia64.dsp b/VC++Files/sql/mysqld_ia64.dsp new file mode 100644 index 00000000000..1b01e0d07bc --- /dev/null +++ b/VC++Files/sql/mysqld_ia64.dsp @@ -0,0 +1,2013 @@ +# Microsoft Developer Studio Project File - Name="mysqld" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqld - WinIA64 pro nt +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqld.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqld.mak" CFG="mysqld - WinIA64 pro nt" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqld - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 Max nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 Max" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 pro" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 classic nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 pro nt" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../zlib" /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x410 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqld.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x410 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\innodb.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqld-debug.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld__" +# PROP BASE Intermediate_Dir "mysqld__" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G5 /MT /W3 /O2 /I "../include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "__WIN64__" /D "DBUG_OFF" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x410 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:IX86 /out:"../client_release/mysqld-nt.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_Max_nt" +# PROP BASE Intermediate_Dir "mysqld___Win64_Max_nt" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max_nt" +# PROP Intermediate_Dir "max_nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt-max /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:IX86 /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib /nologo /subsystem:console /map /machine:IX86 /out:"../client_release/mysqld-max-nt.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_Max" +# PROP BASE Intermediate_Dir "mysqld___Win64_Max" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max" +# PROP Intermediate_Dir "max" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-max /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqld-max.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_classic" +# PROP BASE Intermediate_Dir "mysqld___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D LICENSE=Commercial /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "HAVE_DLOPEN" /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-classic /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_pro" +# PROP BASE Intermediate_Dir "mysqld___Win64_pro" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro" +# PROP Intermediate_Dir "pro" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_MBCS" /D "HAVE_DLOPEN" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "NDEBUG" /D "_WINDOWS" /D "_CONSOLE" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_pro/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_classic_nt" +# PROP BASE Intermediate_Dir "mysqld___Win64_classic_nt" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic_nt" +# PROP Intermediate_Dir "classic_nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "__NT__" /D "DBUG_OFF" /D "NDEBUG" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D LICENSE=Commercial /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-classic-nt /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_pro_nt" +# PROP BASE Intermediate_Dir "mysqld___Win64_pro_nt" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro_nt" +# PROP Intermediate_Dir "pro_nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "__NT__" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D LICENSE=Commercial /D "NDEBUG" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro-nt" /G2 /EHsc /Wp64 /Zm600 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_pro/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ENDIF + +# Begin Target + +# Name "mysqld - WinIA64 Release" +# Name "mysqld - WinIA64 Debug" +# Name "mysqld - WinIA64 nt" +# Name "mysqld - WinIA64 Max nt" +# Name "mysqld - WinIA64 Max" +# Name "mysqld - WinIA64 classic" +# Name "mysqld - WinIA64 pro" +# Name "mysqld - WinIA64 classic nt" +# Name "mysqld - WinIA64 pro nt" +# Begin Source File + +SOURCE=.\client.c + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\derror.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\discover.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=.\field.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\field_conv.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\filesort.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\gstream.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_berkeley.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_innodb.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\handler.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.h +# End Source File +# Begin Source File + +SOURCE=.\hostname.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\init.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_buff.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_cmpfunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_func.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_geofunc.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_row.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_strfunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_subselect.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_sum.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_timefunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_uniq.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\key.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\lock.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=.\message.mc + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\message.rc +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\my_time.c +# End Source File +# Begin Source File + +SOURCE=..\myisammrg\myrg_rnext_same.c +# End Source File +# Begin Source File + +SOURCE=.\mysqld.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.h +# End Source File +# Begin Source File + +SOURCE=.\opt_range.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\opt_range.h +# End Source File +# Begin Source File + +SOURCE=.\OPT_SUM.cpp +# End Source File +# Begin Source File + +SOURCE=.\pack.c +# End Source File +# Begin Source File + +SOURCE=.\password.c + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\procedure.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\protocol.cpp +# End Source File +# Begin Source File + +SOURCE=.\records.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\repl_failsafe.cpp +# End Source File +# Begin Source File + +SOURCE=.\set_var.cpp +# End Source File +# Begin Source File + +SOURCE=.\slave.cpp +# End Source File +# Begin Source File + +SOURCE=.\spatial.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_acl.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_base.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_class.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_client.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.h +# End Source File +# Begin Source File + +SOURCE=.\sql_db.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_delete.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_derived.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_do.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_error.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_handler.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_help.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_insert.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_lex.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_list.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_load.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_map.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_parse.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_prepare.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_select.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_show.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_state.c +# End Source File +# Begin Source File + +SOURCE=.\sql_string.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_table.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_test.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_udf.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_union.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_update.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_yacc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\strfunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\table.cpp +# End Source File +# Begin Source File + +SOURCE=.\thr_malloc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\time.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\tztime.cpp +# End Source File +# Begin Source File + +SOURCE=.\uniques.cpp +# End Source File +# Begin Source File + +SOURCE=.\unireg.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/sql/mysqldmax_ia64.dsp b/VC++Files/sql/mysqldmax_ia64.dsp new file mode 100644 index 00000000000..b9dd5d687a9 --- /dev/null +++ b/VC++Files/sql/mysqldmax_ia64.dsp @@ -0,0 +1,1542 @@ +# Microsoft Developer Studio Project File - Name="mysqldmax" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqldmax - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysqldmax.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysqldmax.mak" CFG="mysqldmax - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqldmax - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - Win32 nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - WinIA64 nt" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /G6 /MT /W3 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "HAVE_INNOBASE_DB" /FD /c /O2 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-opt.exe" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /I "../include" /I "../regex" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "HAVE_INNOBASE_DB" /FR /FD /c /Od +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /incremental:no /pdb:"debug/mysqld.pdb" /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../client_debug/mysqld-max.exe" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "nt" +# PROP BASE Intermediate_Dir "nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /G6 /MT /W3 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "HAVE_INNOBASE_DB" /FD /c /O2 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innobase-nt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"NT/mysqld-nt.pdb" /map:"NT/mysqld-nt.map" /machine:I386 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-nt.exe" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /I "../include" /I "../regex" /D"NDEBUG" /D"DBUG_OFF" /D"MYSQL_SERVER" /D"_WINDOWS" /D"_CONSOLE" /D"_MBCS" /D"HAVE_BERKELEY_DB" /D"HAVE_INNOBASE_DB" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /debug /machine:IA64 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-opt.exe" /incremental:no + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /I "../include" /I "../regex" /D"_DEBUG" /D"SAFEMALLOC" /D"SAFE_MUTEX" /D"MYSQL_SERVER" /D"_WINDOWS" /D"_CONSOLE" /D"_MBCS" /D"HAVE_INNOBASE_DB" /FR /FD /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"debug/mysqld.pdb" /debug /machine:IA64 /nodefaultlib:"LIBC" /out:"../client_debug/mysqld-max.exe" /incremental:no +# SUBTRACT LINK32 + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "nt" +# PROP BASE Intermediate_Dir "nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /I "../include" /I "../regex" /D"NDEBUG" /D"__NT__" /D"DBUG_OFF" /D"MYSQL_SERVER" /D"_WINDOWS" /D"_CONSOLE" /D"_MBCS" /D"HAVE_INNOBASE_DB" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innobase-nt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"NT/mysqld-nt.pdb" /map:"NT/mysqld-nt.map" /machine:IA64 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-nt.exe" /incremental:no +# SUBTRACT LINK32 + +!ENDIF + +# Begin Target + +# Name "mysqldmax - Win32 Release" +# Name "mysqldmax - Win32 Debug" +# Name "mysqldmax - Win32 nt" +# Name "mysqldmax - WinIA64 Release" +# Name "mysqldmax - WinIA64 Debug" +# Name "mysqldmax - WinIA64 nt" +# Begin Source File + +SOURCE=.\convert.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\derror.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\field.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\field_conv.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\filesort.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\ha_berkeley.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_innobase.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\handler.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.h +# End Source File +# Begin Source File + +SOURCE=.\hostname.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\init.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_buff.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_cmpfunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_func.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_strfunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_sum.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_timefunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_uniq.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\key.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\lock.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=.\md5.c +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\mini_client.cpp +# End Source File +# Begin Source File + +SOURCE=.\mini_client_errors.c +# End Source File +# Begin Source File + +SOURCE=.\mysqld.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\net_pkg.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.h +# End Source File +# Begin Source File + +SOURCE=.\opt_ft.cpp +# End Source File +# Begin Source File + +SOURCE=.\opt_range.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\opt_range.h +# End Source File +# Begin Source File + +SOURCE=.\opt_sum.cpp +# End Source File +# Begin Source File + +SOURCE=.\password.c + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\procedure.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\records.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\slave.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_acl.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_base.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_class.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.h +# End Source File +# Begin Source File + +SOURCE=.\sql_db.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_delete.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_insert.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_lex.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_list.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_load.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_map.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_parse.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_select.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_show.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_string.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_table.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_test.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_update.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_yacc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\strfunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\table.cpp +# End Source File +# Begin Source File + +SOURCE=.\thr_malloc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\time.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\unireg.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\violite.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/strings/strings_ia64.dsp b/VC++Files/strings/strings_ia64.dsp new file mode 100644 index 00000000000..287eaaedd96 --- /dev/null +++ b/VC++Files/strings/strings_ia64.dsp @@ -0,0 +1,266 @@ +# Microsoft Developer Studio Project File - Name="strings" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=strings - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "strings.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "strings.mak" CFG="strings - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "strings - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "strings - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "strings - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\strings.lib" + +!ELSEIF "$(CFG)" == "strings - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\strings.lib" + +!ENDIF + +# Begin Target + +# Name "strings - WinIA64 Release" +# Name "strings - WinIA64 Debug" +# Begin Source File + +SOURCE=.\bchange.c +# End Source File +# Begin Source File + +SOURCE=.\bcmp.c +# End Source File +# Begin Source File + +SOURCE=.\bfill.c +# End Source File +# Begin Source File + +SOURCE=.\bmove512.c +# End Source File +# Begin Source File + +SOURCE=.\bmove_upp.c +# End Source File +# Begin Source File + +SOURCE=".\ctype-big5.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-bin.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-czech.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-euc_kr.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-gb2312.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-gbk.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-simple.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-sjis.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-tis620.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-uca.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-ucs2.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-ujis.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-utf8.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-win1250ch.c" +# End Source File +# Begin Source File + +SOURCE=.\ctype.c +# End Source File +# Begin Source File + +SOURCE=.\int2str.c +# End Source File +# Begin Source File + +SOURCE=.\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=.\llstr.c +# End Source File +# Begin Source File + +SOURCE=.\longlong2str.c +# End Source File +# Begin Source File + +SOURCE=.\my_strtoll10.c +# End Source File +# Begin Source File + +SOURCE=.\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=.\r_strinstr.c +# End Source File +# Begin Source File + +SOURCE=.\str2int.c +# End Source File +# Begin Source File + +SOURCE=.\strcend.c +# End Source File +# Begin Source File + +SOURCE=.\strend.c +# End Source File +# Begin Source File + +SOURCE=.\strfill.c +# End Source File +# Begin Source File + +SOURCE=.\strmake.c +# End Source File +# Begin Source File + +SOURCE=.\strmov.c +# End Source File +# Begin Source File + +SOURCE=.\strnmov.c +# End Source File +# Begin Source File + +SOURCE=.\strtod.c +# End Source File +# Begin Source File + +SOURCE=.\strtol.c +# End Source File +# Begin Source File + +SOURCE=.\strtoll.c +# End Source File +# Begin Source File + +SOURCE=.\strtoul.c +# End Source File +# Begin Source File + +SOURCE=.\strtoull.c +# End Source File +# Begin Source File + +SOURCE=.\strxmov.c +# End Source File +# Begin Source File + +SOURCE=.\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=.\xml.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/test1/test1_ia64.dsp b/VC++Files/test1/test1_ia64.dsp new file mode 100644 index 00000000000..2cb5dde46b5 --- /dev/null +++ b/VC++Files/test1/test1_ia64.dsp @@ -0,0 +1,103 @@ +# Microsoft Developer Studio Project File - Name="test1" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=test1 - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "test1.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "test1.mak" CFG="test1 - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "test1 - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "test1 - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "test1 - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /I "../include" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 + +!ELSEIF "$(CFG)" == "test1 - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug -machineÖIA64 /libpath:"..\lib_debug" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "test1 - WinIA64 Release" +# Name "test1 - WinIA64 Debug" +# Begin Source File + +SOURCE=.\mysql_thr.c + +!IF "$(CFG)" == "test1 - WinIA64 Release" + +# ADD CPP /MT /Zi /O2 /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "test1 - WinIA64 Debug" + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/tests/mysql_client_test_ia64.dsp b/VC++Files/tests/mysql_client_test_ia64.dsp new file mode 100644 index 00000000000..3a68a7406aa --- /dev/null +++ b/VC++Files/tests/mysql_client_test_ia64.dsp @@ -0,0 +1,62 @@ +# Microsoft Developer Studio Project File - Name="mysql_client_test" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win3 (x86) Console Application" 0x0103 + +CFG=mysql_client_test - WinIA64 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "mysql_client_test.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "mysql_client_test.mak" CFG="mysql_client_test - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysql_client_test - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\Release" +# PROP BASE Intermediate_Dir ".\Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\Release" +# PROP Intermediate_Dir ".\Release" +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32 +# ADD MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Ob1 /Gy /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /c +# ADD CPP /nologo /G6 /MTd /W3 /GX /Ob1 /Gy /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\tests\mysql_client_test.exe" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\tests\mysql_client_test.exe" /pdbtype:sept +# SUBTRACT LINK32 /pdb:none +# Begin Target + +# Name "mysql_client_test - WinIA64 Release" +# Begin Source File + +SOURCE=tests\mysql_client_test.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/thr_test/thr_test_ia64.dsp b/VC++Files/thr_test/thr_test_ia64.dsp new file mode 100644 index 00000000000..64aae03faaf --- /dev/null +++ b/VC++Files/thr_test/thr_test_ia64.dsp @@ -0,0 +1,106 @@ +# Microsoft Developer Studio Project File - Name="thr_test" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=thr_test - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "thr_test.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "thr_test.mak" CFG="thr_test - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "thr_test - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "thr_test - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "thr_test - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "NDEBUG" +# ADD RSC /l 0x40b /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# SUBTRACT LINK32 /nodefaultlib + +!ELSEIF "$(CFG)" == "thr_test - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x40b /d "_DEBUG" +# ADD RSC /l 0x40b /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "thr_test - WinIA64 Release" +# Name "thr_test - WinIA64 Debug" +# Begin Source File + +SOURCE=.\thr_test.c + +!IF "$(CFG)" == "thr_test - WinIA64 Release" + +# ADD CPP /G5 /Zi /O2 /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "thr_test - WinIA64 Debug" + +# ADD CPP /Zi /Od /FAcs /G2 /EHsc /Wp64 /Zm600 + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/vio/vio_ia64.dsp b/VC++Files/vio/vio_ia64.dsp new file mode 100644 index 00000000000..9dd9a0b9eb6 --- /dev/null +++ b/VC++Files/vio/vio_ia64.dsp @@ -0,0 +1,108 @@ +# Microsoft Developer Studio Project File - Name="vio" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=vio - WinIA64 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "vio.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "vio.mak" CFG="vio - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "vio - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "vio - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "vio - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\vio.lib" + +!ELSEIF "$(CFG)" == "vio - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\vio.lib" + +!ENDIF + +# Begin Target + +# Name "vio - WinIA64 Release" +# Name "vio - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\vio.c +# End Source File +# Begin Source File + +SOURCE=.\viosocket.c +# End Source File +# Begin Source File + +SOURCE=.\viossl.c +# End Source File +# Begin Source File + +SOURCE=.\viosslfactories.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# End Target +# End Project diff --git a/VC++Files/zlib/zlib_ia64.dsp b/VC++Files/zlib/zlib_ia64.dsp new file mode 100644 index 00000000000..c8cb0f6a38b --- /dev/null +++ b/VC++Files/zlib/zlib_ia64.dsp @@ -0,0 +1,204 @@ +# Microsoft Developer Studio Project File - Name="zlib" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=zlib - WinIA64 authent +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "zlib.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "zlib.mak" CFG="zlib - WinIA64 authent" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "zlib - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "zlib - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "zlib - WinIA64 authent" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "zlib - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\zlib.lib" + +!ELSEIF "$(CFG)" == "zlib - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /D "_DEBUG" /D "__WIN64__" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\zlib.lib" + +!ELSEIF "$(CFG)" == "zlib - WinIA64 authent" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "zlib___WinIA64_authent" +# PROP BASE Intermediate_Dir "zlib___WinIA64_authent" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "zlib___WinIA64_authent" +# PROP Intermediate_Dir "zlib___WinIA64_authent" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\zlib.lib" +# ADD LIB32 /nologo /out:"..\lib_release\zlib.lib" + +!ENDIF + +# Begin Target + +# Name "zlib - WinIA64 Release" +# Name "zlib - WinIA64 Debug" +# Name "zlib - WinIA64 authent" +# Begin Source File + +SOURCE=.\adler32.c +# End Source File +# Begin Source File + +SOURCE=.\compress.c +# End Source File +# Begin Source File + +SOURCE=.\crc32.c +# End Source File +# Begin Source File + +SOURCE=.\crc32.h +# End Source File +# Begin Source File + +SOURCE=.\deflate.c +# End Source File +# Begin Source File + +SOURCE=.\deflate.h +# End Source File +# Begin Source File + +SOURCE=.\gzio.c +# End Source File +# Begin Source File + +SOURCE=.\infback.c +# End Source File +# Begin Source File + +SOURCE=.\inffast.c +# End Source File +# Begin Source File + +SOURCE=.\inffast.h +# End Source File +# Begin Source File + +SOURCE=.\inffixed.h +# End Source File +# Begin Source File + +SOURCE=.\inflate.c +# End Source File +# Begin Source File + +SOURCE=.\inflate.h +# End Source File +# Begin Source File + +SOURCE=.\inftrees.c +# End Source File +# Begin Source File + +SOURCE=.\inftrees.h +# End Source File +# Begin Source File + +SOURCE=.\inftrees.h +# End Source File +# Begin Source File + +SOURCE=.\trees.c +# End Source File +# Begin Source File + +SOURCE=.\trees.h +# End Source File +# Begin Source File + +SOURCE=.\uncompr.c +# End Source File +# Begin Source File + +SOURCE=.\zconf.h +# End Source File +# Begin Source File + +SOURCE=.\zlib.h +# End Source File +# Begin Source File + +SOURCE=.\zutil.c +# End Source File +# Begin Source File + +SOURCE=.\zutil.h +# End Source File +# End Target +# End Project From 52d19cbd7c36559622e6115ebde287f10adb4bb7 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 09:47:24 +0100 Subject: [PATCH 011/124] fixed conversion errors (Windows IA64 build) --- client/mysql.cc | 12 +++++------- client/readline.cc | 2 +- client/sql_string.cc | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/client/mysql.cc b/client/mysql.cc index 2c98b7b5eb6..46bfc7d880f 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -727,7 +727,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), strmov(delimiter, DEFAULT_DELIMITER); else strmake(delimiter, argument, sizeof(delimiter) - 1); - delimiter_length= strlen(delimiter); + delimiter_length= (uint)strlen(delimiter); delimiter_str= delimiter; break; case OPT_LOCAL_INFILE: @@ -1663,7 +1663,7 @@ static int com_server_help(String *buffer __attribute__((unused)), if (!connected && reconnect()) return 1; - if ((error= mysql_real_query_for_lazy(server_cmd,strlen(server_cmd))) || + if ((error= mysql_real_query_for_lazy(server_cmd,(int)strlen(server_cmd))) || (error= mysql_store_result_for_lazy(&result))) return error; @@ -1749,7 +1749,7 @@ com_help(String *buffer __attribute__((unused)), for (i = 0; commands[i].name; i++) { end= strmov(buff, commands[i].name); - for (j= strlen(commands[i].name); j < 10; j++) + for (j= (int)strlen(commands[i].name); j < 10; j++) end= strmov(end, " "); if (commands[i].func) tee_fprintf(stdout, "%s(\\%c) %s\n", buff, @@ -2126,7 +2126,7 @@ print_table_data_xml(MYSQL_RES *result) mysql_field_seek(result,0); tee_fputs("\n\n", PAGER); fields = mysql_fetch_fields(result); @@ -2615,7 +2615,7 @@ com_delimiter(String *buffer __attribute__((unused)), char *line) return 0; } strmake(delimiter, tmp, sizeof(delimiter) - 1); - delimiter_length= strlen(delimiter); + delimiter_length= (int)strlen(delimiter); delimiter_str= delimiter; return 0; } @@ -2625,8 +2625,6 @@ static int com_use(String *buffer __attribute__((unused)), char *line) { char *tmp, buff[FN_REFLEN + 1]; - MYSQL_RES *res; - MYSQL_ROW row; bzero(buff, sizeof(buff)); strmov(buff, line); diff --git a/client/readline.cc b/client/readline.cc index 52ecb4e5c68..3d524633d69 100644 --- a/client/readline.cc +++ b/client/readline.cc @@ -108,7 +108,7 @@ init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer) */ static bool init_line_buffer_from_string(LINE_BUFFER *buffer,my_string str) { - uint old_length=buffer->end - buffer->buffer; + uint old_length=(uint)(buffer->end - buffer->buffer); uint length= (uint) strlen(str); if (!(buffer->buffer= buffer->start_of_line= buffer->end_of_line= (char*)my_realloc(buffer->buffer, old_length+length+2, diff --git a/client/sql_string.cc b/client/sql_string.cc index 7de0df02f53..9dcf19dad1d 100644 --- a/client/sql_string.cc +++ b/client/sql_string.cc @@ -544,7 +544,7 @@ int String::reserve(uint32 space_needed, uint32 grow_by) void String::qs_append(const char *str) { - int len = strlen(str); + int len = (int)strlen(str); memcpy(Ptr + str_length, str, len + 1); str_length += len; } @@ -553,7 +553,7 @@ void String::qs_append(double d) { char *buff = Ptr + str_length; sprintf(buff,"%.14g", d); - str_length += strlen(buff); + str_length += (int)strlen(buff); } void String::qs_append(double *d) From 8e8dfe43db45875306d06d5c1d882c86a68b6b3a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 10:21:38 +0100 Subject: [PATCH 012/124] Fix for Bug #8753 Invalid schema object version after dropping index --- mysql-test/include/have_multi_ndb.inc | 28 +++++++++++++++ mysql-test/r/ndb_alter_table.result | 14 ++++++++ mysql-test/r/ndb_multi.result | 49 +++++++++++++++++++++++++++ mysql-test/t/ndb_alter_table.test | 16 +++++++++ mysql-test/t/ndb_multi.test | 44 ++++++++++++++++++++++++ sql/ha_ndbcluster.cc | 38 +++++++++++++++++---- sql/ha_ndbcluster.h | 1 + 7 files changed, 184 insertions(+), 6 deletions(-) create mode 100644 mysql-test/include/have_multi_ndb.inc create mode 100644 mysql-test/r/ndb_multi.result create mode 100644 mysql-test/t/ndb_multi.test diff --git a/mysql-test/include/have_multi_ndb.inc b/mysql-test/include/have_multi_ndb.inc new file mode 100644 index 00000000000..ec1a93311fb --- /dev/null +++ b/mysql-test/include/have_multi_ndb.inc @@ -0,0 +1,28 @@ +# Setup connections to both MySQL Servers connected to the cluster +connect (server1,127.0.0.1,root,,test,$MASTER_MYPORT,); +connect (server2,127.0.0.1,root,,test,$MASTER_MYPORT1,); + +# Check that server1 has NDB support +connection server1; +disable_query_log; +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +flush tables; +@r/have_ndb.require show variables like "have_ndbcluster"; +# @r/server_id.require show variables like "server_id"; +enable_query_log; + +# Check that server2 has NDB support +connection server2; +disable_query_log; +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +flush tables; +@r/have_ndb.require show variables like "have_ndbcluster"; +# @r/server_id1.require show variables like "server_id"; +enable_query_log; + +# Set the default connection to 'server1' +connection server1; diff --git a/mysql-test/r/ndb_alter_table.result b/mysql-test/r/ndb_alter_table.result index f899d254243..88ac04db111 100644 --- a/mysql-test/r/ndb_alter_table.result +++ b/mysql-test/r/ndb_alter_table.result @@ -170,3 +170,17 @@ c 4 5 drop table t1; +create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) ) +engine=ndb; +insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three'); +create index c on t1(c); +select * from t1 where b = 'two'; +a b c +2 two two +alter table t1 drop index c; +select * from t1 where b = 'two'; +ERROR 42S02: Table 'test.t1' doesn't exist +select * from t1 where b = 'two'; +a b c +2 two two +drop table t1; diff --git a/mysql-test/r/ndb_multi.result b/mysql-test/r/ndb_multi.result new file mode 100644 index 00000000000..4a2389cd1ff --- /dev/null +++ b/mysql-test/r/ndb_multi.result @@ -0,0 +1,49 @@ +drop table if exists t1, t2, t3, t4; +flush status; +create table t1 (a int) engine=ndbcluster; +create table t2 (a int) engine=ndbcluster; +insert into t1 value (2); +insert into t2 value (3); +select * from t1; +a +2 +select * from t2; +a +3 +show status like 'handler_discover%'; +Variable_name Value +Handler_discover 0 +flush status; +select * from t1; +a +2 +update t1 set a=3 where a=2; +show status like 'handler_discover%'; +Variable_name Value +Handler_discover 1 +create table t3 (a int not null primary key, b varchar(22), +c int, last_col text) engine=ndb; +insert into t3 values(1, 'Hi!', 89, 'Longtext column'); +create table t4 (pk int primary key, b int) engine=ndb; +select * from t1; +a +3 +select * from t3; +a b c last_col +1 Hi! 89 Longtext column +show status like 'handler_discover%'; +Variable_name Value +Handler_discover 1 +show tables like 't4'; +Tables_in_test (t4) +t4 +show status like 'handler_discover%'; +Variable_name Value +Handler_discover 2 +show tables; +Tables_in_test +t1 +t2 +t3 +t4 +drop table t1, t2, t3, t4; diff --git a/mysql-test/t/ndb_alter_table.test b/mysql-test/t/ndb_alter_table.test index 892443a1407..f39edc0ee65 100644 --- a/mysql-test/t/ndb_alter_table.test +++ b/mysql-test/t/ndb_alter_table.test @@ -1,4 +1,5 @@ -- source include/have_ndb.inc +-- source include/have_multi_ndb.inc --disable_warnings DROP TABLE IF EXISTS t1; @@ -133,6 +134,21 @@ INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0); select c from t1 order by c; drop table t1; +create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) ) +engine=ndb; +insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three'); +create index c on t1(c); +connection server2; +select * from t1 where b = 'two'; +connection server1; +alter table t1 drop index c; +connection server2; +--error 1146 +select * from t1 where b = 'two'; +select * from t1 where b = 'two'; +connection server1; +drop table t1; + #--disable_warnings #DROP TABLE IF EXISTS t2; #--enable_warnings diff --git a/mysql-test/t/ndb_multi.test b/mysql-test/t/ndb_multi.test new file mode 100644 index 00000000000..9286721b677 --- /dev/null +++ b/mysql-test/t/ndb_multi.test @@ -0,0 +1,44 @@ +-- source include/have_ndb.inc +-- source include/have_multi_ndb.inc + + +--disable_warnings +drop table if exists t1, t2, t3, t4; +--enable_warnings + +flush status; + +# Create test tables on server1 +create table t1 (a int) engine=ndbcluster; +create table t2 (a int) engine=ndbcluster; +insert into t1 value (2); +insert into t2 value (3); +select * from t1; +select * from t2; +show status like 'handler_discover%'; + +# Connect to server2 and use the tables from there +connection server2; +flush status; +select * from t1; +update t1 set a=3 where a=2; +show status like 'handler_discover%'; + +# Create a new table on server2 +create table t3 (a int not null primary key, b varchar(22), +c int, last_col text) engine=ndb; +insert into t3 values(1, 'Hi!', 89, 'Longtext column'); +create table t4 (pk int primary key, b int) engine=ndb; + +# Check that the tables are accessible from server1 +connection server1; +select * from t1; +select * from t3; +show status like 'handler_discover%'; +show tables like 't4'; +show status like 'handler_discover%'; +show tables; + +drop table t1, t2, t3, t4; + + diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 3e2fc5b2855..70b86ca08d1 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -328,6 +328,36 @@ void ha_ndbcluster::no_uncommitted_rows_reset(THD *thd) # The mapped error code */ +void ha_ndbcluster::invalidateCache() +{ + NDBDICT *dict= get_ndb()->getDictionary(); + DBUG_PRINT("info", ("invalidating %s", m_tabname)); + dict->invalidateTable(m_tabname); + table->version=0L; /* Free when thread is ready */ + /* Invalidate indexes */ + for (uint i= 0; i < table->keys; i++) + { + NDBINDEX *index = (NDBINDEX *) m_index[i].index; + NDBINDEX *unique_index = (NDBINDEX *) m_index[i].unique_index; + NDB_INDEX_TYPE idx_type= m_index[i].type; + + + switch(m_index[i].type) { + case(PRIMARY_KEY_ORDERED_INDEX): + case(ORDERED_INDEX): + dict->invalidateIndex(index->getName(), m_tabname); + break; + case(UNIQUE_ORDERED_INDEX): + dict->invalidateIndex(index->getName(), m_tabname); + case(UNIQUE_INDEX): + dict->invalidateIndex(unique_index->getName(), m_tabname); + break; + case(PRIMARY_KEY_INDEX): + case(UNDEFINED_INDEX): + break; + } + } +} int ha_ndbcluster::ndb_err(NdbConnection *trans) { @@ -339,11 +369,7 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans) switch (err.classification) { case NdbError::SchemaError: { - Ndb *ndb= get_ndb(); - NDBDICT *dict= ndb->getDictionary(); - DBUG_PRINT("info", ("invalidateTable %s", m_tabname)); - dict->invalidateTable(m_tabname); - table->version=0L; /* Free when thread is ready */ + invalidateCache(); break; } default: @@ -733,7 +759,7 @@ int ha_ndbcluster::get_metadata(const char *path) if (!invalidating_ndb_table) { DBUG_PRINT("info", ("Invalidating table")); - dict->invalidateTable(m_tabname); + invalidateCache(); invalidating_ndb_table= TRUE; } else diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index 07b305bad3e..149276c8356 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -201,6 +201,7 @@ class ha_ndbcluster: public handler void print_results(); longlong get_auto_increment(); + void invalidateCache(); int ndb_err(NdbConnection*); bool uses_blob_value(bool all_fields); From c8399bb6b5ae367298bc1b7cfaf415b95c2eb59a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 10:28:56 +0100 Subject: [PATCH 013/124] Merge 4.0.24 compile changes into the 4.1 tree. mysys/my_bitmap.c: Resolved merge conflict (identical change in 4.0 and 4.1). --- mysys/my_bitmap.c | 265 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 225 insertions(+), 40 deletions(-) diff --git a/mysys/my_bitmap.c b/mysys/my_bitmap.c index 9662f219418..f0d3339535d 100644 --- a/mysys/my_bitmap.c +++ b/mysys/my_bitmap.c @@ -16,7 +16,18 @@ /* Handling of uchar arrays as large bitmaps. - We assume that the size of the used bitmap is less than ~(uint) 0 + + API limitations (or, rather asserted safety assumptions, + to encourage correct programming) + + * the size of the used bitmap is less than ~(uint) 0 + * it's a multiple of 8 (for efficiency reasons) + * when arguments are a bitmap and a bit number, the number + must be within bitmap size + * bitmap_set_prefix() is an exception - one can use ~0 to set all bits + * when both arguments are bitmaps, they must be of the same size + * bitmap_intersect() is an exception :) + (for for Bitmap::intersect(ulonglong map2buff)) TODO: Make assembler THREAD safe versions of these using test-and-set instructions @@ -24,60 +35,74 @@ #include "mysys_priv.h" #include -#include #include static inline void bitmap_lock(MY_BITMAP* map) { #ifdef THREAD - if (map->thread_safe) - pthread_mutex_lock(&map->mutex); + if (map->mutex) + pthread_mutex_lock(map->mutex); #endif } static inline void bitmap_unlock(MY_BITMAP* map) { #ifdef THREAD - if (map->thread_safe) - pthread_mutex_unlock(&map->mutex); + if (map->mutex) + pthread_mutex_unlock(map->mutex); #endif } -my_bool bitmap_init(MY_BITMAP *map, uint bitmap_size, my_bool thread_safe) + +my_bool bitmap_init(MY_BITMAP *map, uchar *buf, uint bitmap_size, + my_bool thread_safe) { - if (!(map->bitmap=(uchar*) my_malloc((bitmap_size+7)/8, - MYF(MY_WME | MY_ZEROFILL)))) + DBUG_ENTER("bitmap_init"); + + DBUG_ASSERT((bitmap_size & 7) == 0); + bitmap_size/=8; + if (!(map->bitmap=buf) && + !(map->bitmap= (uchar*) my_malloc(bitmap_size + + (thread_safe ? + sizeof(pthread_mutex_t) : 0), + MYF(MY_WME | MY_ZEROFILL)))) return 1; - DBUG_ASSERT(bitmap_size != ~(uint) 0); -#ifdef THREAD - if ((map->thread_safe = thread_safe)) - pthread_mutex_init(&map->mutex, MY_MUTEX_INIT_FAST); -#endif map->bitmap_size=bitmap_size; - return 0; +#ifdef THREAD + if (thread_safe) + { + map->mutex=(pthread_mutex_t *)(map->bitmap+bitmap_size); + pthread_mutex_init(map->mutex, MY_MUTEX_INIT_FAST); + } + else + map->mutex=0; +#endif + DBUG_RETURN(0); } + void bitmap_free(MY_BITMAP *map) { + DBUG_ENTER("bitmap_free"); if (map->bitmap) { +#ifdef THREAD + if (map->mutex) + pthread_mutex_destroy(map->mutex); +#endif my_free((char*) map->bitmap, MYF(0)); map->bitmap=0; -#ifdef THREAD - if (map->thread_safe) - pthread_mutex_destroy(&map->mutex); -#endif } + DBUG_VOID_RETURN; } + void bitmap_set_bit(MY_BITMAP *map, uint bitmap_bit) { - if (bitmap_bit < map->bitmap_size) - { - bitmap_lock(map); - map->bitmap[bitmap_bit / 8] |= (1 << (bitmap_bit & 7)); - bitmap_unlock(map); - } + DBUG_ASSERT(map->bitmap && bitmap_bit < map->bitmap_size*8); + bitmap_lock(map); + bitmap_fast_set_bit(map, bitmap_bit); + bitmap_unlock(map); } @@ -85,9 +110,10 @@ uint bitmap_set_next(MY_BITMAP *map) { uchar *bitmap=map->bitmap; uint bit_found = MY_BIT_NONE; - uint bitmap_size=map->bitmap_size; + uint bitmap_size=map->bitmap_size*8; uint i; + DBUG_ASSERT(map->bitmap); bitmap_lock(map); for (i=0; i < bitmap_size ; i++, bitmap++) { @@ -113,32 +139,191 @@ uint bitmap_set_next(MY_BITMAP *map) void bitmap_clear_bit(MY_BITMAP *map, uint bitmap_bit) { - if (bitmap_bit < map->bitmap_size) + DBUG_ASSERT(map->bitmap && bitmap_bit < map->bitmap_size*8); + bitmap_lock(map); + bitmap_fast_clear_bit(map, bitmap_bit); + bitmap_unlock(map); +} + + +void bitmap_set_prefix(MY_BITMAP *map, uint prefix_size) +{ + uint prefix_bytes, prefix_bits; + + DBUG_ASSERT(map->bitmap && + (prefix_size <= map->bitmap_size*8 || prefix_size == (uint) ~0)); + bitmap_lock(map); + set_if_smaller(prefix_size, map->bitmap_size*8); + if ((prefix_bytes= prefix_size / 8)) + memset(map->bitmap, 0xff, prefix_bytes); + if ((prefix_bits= prefix_size & 7)) + map->bitmap[prefix_bytes++]= (1 << prefix_bits)-1; + if (prefix_bytes < map->bitmap_size) + bzero(map->bitmap+prefix_bytes, map->bitmap_size-prefix_bytes); + bitmap_unlock(map); +} + + +void bitmap_clear_all(MY_BITMAP *map) +{ + bitmap_set_prefix(map, 0); +} + + +void bitmap_set_all(MY_BITMAP *map) +{ + bitmap_set_prefix(map, ~0); +} + + +my_bool bitmap_is_prefix(const MY_BITMAP *map, uint prefix_size) +{ + uint prefix_bits= prefix_size & 7, res= 0; + uchar *m= map->bitmap, *end_prefix= map->bitmap+prefix_size/8, + *end= map->bitmap+map->bitmap_size; + + DBUG_ASSERT(map->bitmap && prefix_size <= map->bitmap_size*8); + + bitmap_lock((MY_BITMAP *)map); + while (m < end_prefix) + if (*m++ != 0xff) + goto ret; + + if (prefix_bits && *m++ != (1 << prefix_bits)-1) + goto ret; + + while (m < end) + if (*m++ != 0) + goto ret; + + res=1; +ret: + bitmap_unlock((MY_BITMAP *)map); + return res; +} + + +my_bool bitmap_is_clear_all(const MY_BITMAP *map) +{ + return bitmap_is_prefix(map, 0); +} + +my_bool bitmap_is_set_all(const MY_BITMAP *map) +{ + return bitmap_is_prefix(map, map->bitmap_size*8); +} + + +my_bool bitmap_is_set(const MY_BITMAP *map, uint bitmap_bit) +{ + DBUG_ASSERT(map->bitmap && bitmap_bit < map->bitmap_size*8); + return bitmap_fast_is_set(map, bitmap_bit); +} + + +my_bool bitmap_is_subset(const MY_BITMAP *map1, const MY_BITMAP *map2) +{ + uint res=0; + uchar *m1=map1->bitmap, *m2=map2->bitmap, *end; + + DBUG_ASSERT(map1->bitmap && map2->bitmap && + map1->bitmap_size==map2->bitmap_size); + bitmap_lock((MY_BITMAP *)map1); + bitmap_lock((MY_BITMAP *)map2); + + end= m1+map1->bitmap_size; + + while (m1 < end) { - bitmap_lock(map); - map->bitmap[bitmap_bit / 8] &= ~ (1 << (bitmap_bit & 7)); - bitmap_unlock(map); + if ((*m1++) & ~(*m2++)) + goto ret; } + + res=1; +ret: + bitmap_unlock((MY_BITMAP *)map2); + bitmap_unlock((MY_BITMAP *)map1); + return res; } -void bitmap_set_all(MY_BITMAP* map) +my_bool bitmap_cmp(const MY_BITMAP *map1, const MY_BITMAP *map2) { + uint res; + + DBUG_ASSERT(map1->bitmap && map2->bitmap && + map1->bitmap_size==map2->bitmap_size); + bitmap_lock((MY_BITMAP *)map1); + bitmap_lock((MY_BITMAP *)map2); + + res= memcmp(map1->bitmap, map2->bitmap, map1->bitmap_size)==0; + + bitmap_unlock((MY_BITMAP *)map2); + bitmap_unlock((MY_BITMAP *)map1); + return res; +} + + +void bitmap_intersect(MY_BITMAP *map, const MY_BITMAP *map2) +{ + uchar *to=map->bitmap, *from=map2->bitmap, *end; + uint len=map->bitmap_size, len2=map2->bitmap_size; + + DBUG_ASSERT(map->bitmap && map2->bitmap); bitmap_lock(map); - memset(map->bitmap, 0xff, (map->bitmap_size+7)/8); + bitmap_lock((MY_BITMAP *)map2); + + end= to+min(len,len2); + + while (to < end) + *to++ &= *from++; + + if (len2 < len) + { + end+=len-len2; + while (to < end) + *to++=0; + } + + bitmap_unlock((MY_BITMAP *)map2); bitmap_unlock(map); } -my_bool bitmap_is_set(MY_BITMAP* map, uint bitmap_bit) -{ - return (bitmap_bit < map->bitmap_size) ? - (map->bitmap[bitmap_bit / 8] & (1 << (bitmap_bit & 7))) : - 0; -} -void bitmap_clear_all(MY_BITMAP* map) +void bitmap_subtract(MY_BITMAP *map, const MY_BITMAP *map2) { + uchar *to=map->bitmap, *from=map2->bitmap, *end; + + DBUG_ASSERT(map->bitmap && map2->bitmap && + map->bitmap_size==map2->bitmap_size); bitmap_lock(map); - bzero(map->bitmap,(map->bitmap_size+7)/8); + bitmap_lock((MY_BITMAP *)map2); + + end= to+map->bitmap_size; + + while (to < end) + *to++ &= ~(*from++); + + bitmap_unlock((MY_BITMAP *)map2); bitmap_unlock(map); } + + +void bitmap_union(MY_BITMAP *map, const MY_BITMAP *map2) +{ + uchar *to=map->bitmap, *from=map2->bitmap, *end; + + DBUG_ASSERT(map->bitmap && map2->bitmap && + map->bitmap_size==map2->bitmap_size); + bitmap_lock(map); + bitmap_lock((MY_BITMAP *)map2); + + end= to+map->bitmap_size; + + while (to < end) + *to++ |= *from++; + + bitmap_unlock((MY_BITMAP *)map2); + bitmap_unlock(map); +} + From 3efe8a84b8e3a6bad1c5ce9cc9d01623c013bc4a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 10:29:50 +0100 Subject: [PATCH 014/124] Manual merge. --- sql/net_serv.cc | 153 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 105 insertions(+), 48 deletions(-) diff --git a/sql/net_serv.cc b/sql/net_serv.cc index c527ee1eb76..c8b2e28ec52 100644 --- a/sql/net_serv.cc +++ b/sql/net_serv.cc @@ -14,6 +14,13 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/* + This file is the net layer API for the MySQL client/server protocol, + which is a tightly coupled, proprietary protocol owned by MySQL AB. + Any re-implementations of this protocol must also be under GPL + unless one has got an license from MySQL AB stating otherwise. +*/ + /* Write and read of logical packets to/from socket @@ -26,6 +33,10 @@ C file. */ +/* + HFTODO this must be hidden if we don't want client capabilities in + embedded library + */ #ifdef __WIN__ #include #endif @@ -41,6 +52,13 @@ #include #include +#ifdef EMBEDDED_LIBRARY +#undef MYSQL_SERVER +#undef MYSQL_CLIENT +#define MYSQL_CLIENT +#endif /*EMBEDDED_LIBRARY */ + + /* The following handles the differences when this is linked between the client and the server. @@ -66,10 +84,15 @@ void sql_print_error(const char *format,...); #ifdef MYSQL_SERVER #define USE_QUERY_CACHE +/* + The following variables/functions should really not be declared + extern, but as it's hard to include mysql_priv.h here, we have to + live with this for a while. +*/ extern uint test_flags; -extern void query_cache_insert(NET *net, const char *packet, ulong length); extern ulong bytes_sent, bytes_received, net_big_packet_count; extern pthread_mutex_t LOCK_bytes_sent , LOCK_bytes_received; +extern void query_cache_insert(NET *net, const char *packet, ulong length); #else #undef statistic_add #undef statistic_increment @@ -85,7 +108,7 @@ static my_bool net_write_buff(NET *net,const char *packet,ulong len); /* Init with packet info */ -int my_net_init(NET *net, Vio* vio) +my_bool my_net_init(NET *net, Vio* vio) { DBUG_ENTER("my_net_init"); my_net_local_init(net); /* Set some limits */ @@ -104,6 +127,7 @@ int my_net_init(NET *net, Vio* vio) net->where_b = net->remain_in_buf=0; net->last_errno=0; net->query_cache_query=0; + net->report_error= 0; if (vio != 0) /* If real connection */ { @@ -132,7 +156,7 @@ void net_end(NET *net) /* Realloc the packet buffer */ -static my_bool net_realloc(NET *net, ulong length) +my_bool net_realloc(NET *net, ulong length) { uchar *buff; ulong pkt_length; @@ -141,10 +165,11 @@ static my_bool net_realloc(NET *net, ulong length) if (length >= net->max_packet_size) { - DBUG_PRINT("error",("Packet too large. Max sixe: %lu", - net->max_packet_size)); - net->error=1; - net->last_errno=ER_NET_PACKET_TOO_LARGE; + DBUG_PRINT("error", ("Packet too large. Max size: %lu", + net->max_packet_size)); + net->error= 1; + net->report_error= 1; + net->last_errno= ER_NET_PACKET_TOO_LARGE; DBUG_RETURN(1); } pkt_length = (length+IO_SIZE-1) & ~(IO_SIZE-1); @@ -156,10 +181,9 @@ static my_bool net_realloc(NET *net, ulong length) NET_HEADER_SIZE + COMP_HEADER_SIZE, MYF(MY_WME)))) { - net->error=1; -#ifdef MYSQL_SERVER - net->last_errno=ER_OUT_OF_RESOURCES; -#endif + net->error= 1; + net->report_error= 1; + net->last_errno= ER_OUT_OF_RESOURCES; DBUG_RETURN(1); } net->buff=net->write_pos=buff; @@ -193,14 +217,14 @@ void net_clear(NET *net) /* Flush write_buffer if not empty. */ -int net_flush(NET *net) +my_bool net_flush(NET *net) { - int error=0; + my_bool error= 0; DBUG_ENTER("net_flush"); if (net->buff != net->write_pos) { - error=net_real_write(net,(char*) net->buff, - (ulong) (net->write_pos - net->buff)); + error=test(net_real_write(net,(char*) net->buff, + (ulong) (net->write_pos - net->buff))); net->write_pos=net->buff; } /* Sync packet number if using compression */ @@ -223,7 +247,7 @@ int net_flush(NET *net) If compression is used the original package is modified! */ -int +my_bool my_net_write(NET *net,const char *packet,ulong len) { uchar buff[NET_HEADER_SIZE]; @@ -250,23 +274,46 @@ my_net_write(NET *net,const char *packet,ulong len) buff[3]= (uchar) net->pkt_nr++; if (net_write_buff(net,(char*) buff,NET_HEADER_SIZE)) return 1; +#ifndef DEBUG_DATA_PACKETS DBUG_DUMP("packet_header",(char*) buff,NET_HEADER_SIZE); +#endif return test(net_write_buff(net,packet,len)); } /* Send a command to the server. - As the command is part of the first data packet, we have to do some data - juggling to put the command in there, without having to create a new - packet. - This function will split big packets into sub-packets if needed. - (Each sub packet can only be 2^24 bytes) + + SYNOPSIS + net_write_command() + net NET handler + command Command in MySQL server (enum enum_server_command) + header Header to write after command + head_len Length of header + packet Query or parameter to query + len Length of packet + + DESCRIPTION + The reason for having both header and packet is so that libmysql + can easy add a header to a special command (like prepared statements) + without having to re-alloc the string. + + As the command is part of the first data packet, we have to do some data + juggling to put the command in there, without having to create a new + packet. + This function will split big packets into sub-packets if needed. + (Each sub packet can only be 2^24 bytes) + + RETURN VALUES + 0 ok + 1 error */ -int -net_write_command(NET *net,uchar command,const char *packet,ulong len) +my_bool +net_write_command(NET *net,uchar command, + const char *header, ulong head_len, + const char *packet, ulong len) { - ulong length=len+1; /* 1 extra byte for command */ + ulong length=len+1+head_len; /* 1 extra byte for command */ uchar buff[NET_HEADER_SIZE+1]; uint header_size=NET_HEADER_SIZE+1; DBUG_ENTER("net_write_command"); @@ -277,25 +324,28 @@ net_write_command(NET *net,uchar command,const char *packet,ulong len) if (length >= MAX_PACKET_LENGTH) { /* Take into account that we have the command in the first header */ - len= MAX_PACKET_LENGTH -1; + len= MAX_PACKET_LENGTH - 1 - head_len; do { int3store(buff, MAX_PACKET_LENGTH); buff[3]= (uchar) net->pkt_nr++; if (net_write_buff(net,(char*) buff, header_size) || - net_write_buff(net,packet,len)) + net_write_buff(net, header, head_len) || + net_write_buff(net, packet, len)) DBUG_RETURN(1); packet+= len; length-= MAX_PACKET_LENGTH; len= MAX_PACKET_LENGTH; + head_len= 0; header_size= NET_HEADER_SIZE; } while (length >= MAX_PACKET_LENGTH); len=length; /* Data left to be written */ } int3store(buff,length); buff[3]= (uchar) net->pkt_nr++; - DBUG_RETURN(test(net_write_buff(net,(char*) buff,header_size) || - net_write_buff(net,packet,len) || net_flush(net))); + DBUG_RETURN(test(net_write_buff(net, (char*) buff, header_size) || + (head_len && net_write_buff(net, (char*) header, head_len)) || + net_write_buff(net, packet, len) || net_flush(net))); } /* @@ -336,6 +386,9 @@ net_write_buff(NET *net,const char *packet,ulong len) else left_length= (ulong) (net->buff_end - net->write_pos); +#ifdef DEBUG_DATA_PACKETS + DBUG_DUMP("data", packet, len); +#endif if (len > left_length) { if (net->write_pos != net->buff) @@ -411,10 +464,12 @@ net_real_write(NET *net,const char *packet,ulong len) COMP_HEADER_SIZE, MYF(MY_WME)))) { #ifdef MYSQL_SERVER - net->last_errno=ER_OUT_OF_RESOURCES; - net->error=2; + net->last_errno= ER_OUT_OF_RESOURCES; + net->error= 2; + /* TODO is it needed to set this variable if we have no socket */ + net->report_error= 1; #endif - net->reading_or_writing=0; + net->reading_or_writing= 0; DBUG_RETURN(1); } memcpy(b+header_length,packet,len); @@ -461,9 +516,10 @@ net_real_write(NET *net,const char *packet,ulong len) my_progname,vio_errno(net->vio)); #endif /* EXTRA_DEBUG */ #ifdef MYSQL_SERVER - net->last_errno=ER_NET_ERROR_ON_WRITE; + net->last_errno= ER_NET_ERROR_ON_WRITE; #endif - net->error=2; /* Close socket */ + net->error= 2; /* Close socket */ + net->report_error= 1; goto end; } retry_count=0; @@ -489,7 +545,8 @@ net_real_write(NET *net,const char *packet,ulong len) continue; } #endif /* defined(THREAD_SAFE_CLIENT) && !defined(MYSQL_SERVER) */ - net->error=2; /* Close socket */ + net->error= 2; /* Close socket */ + net->report_error= 1; #ifdef MYSQL_SERVER net->last_errno= (interrupted ? ER_NET_WRITE_INTERRUPTED : ER_NET_ERROR_ON_WRITE); @@ -667,9 +724,10 @@ my_real_read(NET *net, ulong *complen) my_progname,vio_errno(net->vio)); #endif /* EXTRA_DEBUG */ len= packet_error; - net->error=2; /* Close socket */ + net->error= 2; /* Close socket */ + net->report_error= 1; #ifdef MYSQL_SERVER - net->last_errno=ER_NET_FCNTL_ERROR; + net->last_errno= ER_NET_FCNTL_ERROR; #endif goto end; } @@ -698,7 +756,8 @@ my_real_read(NET *net, ulong *complen) DBUG_PRINT("error",("Couldn't read packet: remain: %u errno: %d length: %ld", remain, vio_errno(net->vio), length)); len= packet_error; - net->error=2; /* Close socket */ + net->error= 2; /* Close socket */ + net->report_error= 1; #ifdef MYSQL_SERVER net->last_errno= (interrupted ? ER_NET_READ_INTERRUPTED : ER_NET_READ_ERROR); @@ -712,6 +771,8 @@ my_real_read(NET *net, ulong *complen) if (i == 0) { /* First parts is packet length */ ulong helping; + DBUG_DUMP("packet_header",(char*) net->buff+net->where_b, + NET_HEADER_SIZE); if (net->buff[net->where_b + 3] != (uchar) net->pkt_nr) { if (net->buff[net->where_b] != (uchar) 255) @@ -720,7 +781,6 @@ my_real_read(NET *net, ulong *complen) ("Packets out of order (Found: %d, expected %u)", (int) net->buff[net->where_b + 3], net->pkt_nr)); - DBUG_DUMP("packet_header",(char*) net->buff+net->where_b, 4); #ifdef EXTRA_DEBUG fprintf(stderr,"Packets out of order (Found: %d, expected %d)\n", (int) net->buff[net->where_b + 3], @@ -728,6 +788,7 @@ my_real_read(NET *net, ulong *complen) #endif } len= packet_error; + net->report_error= 1; #ifdef MYSQL_SERVER net->last_errno=ER_NET_PACKETS_OUT_OF_ORDER; #endif @@ -776,6 +837,10 @@ end: vio_blocking(net->vio, net_blocking, &old_mode); } net->reading_or_writing=0; +#ifdef DEBUG_DATA_PACKETS + if (len != packet_error) + DBUG_DUMP("data",(char*) net->buff+net->where_b, len); +#endif return(len); } @@ -908,7 +973,8 @@ my_net_read(NET *net) if (my_uncompress((byte*) net->buff + net->where_b, &packet_len, &complen)) { - net->error=2; /* caller will close socket */ + net->error= 2; /* caller will close socket */ + net->report_error= 1; #ifdef MYSQL_SERVER net->last_errno=ER_NET_UNCOMPRESS_ERROR; #endif @@ -929,12 +995,3 @@ my_net_read(NET *net) return len; } -bool net_request_file(NET* net, const char* fname) -{ - char tmp [FN_REFLEN+1],*end; - DBUG_ENTER("net_request_file"); - tmp[0] = (char) 251; /* NULL_LENGTH */ - end=strnmov(tmp+1,fname,sizeof(tmp)-2); - DBUG_RETURN(my_net_write(net,tmp,(uint) (end-tmp)) || - net_flush(net)); -} From e23e81f7dfa79b45d73dabcab35fef1b9317cc2d Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 10:53:16 +0100 Subject: [PATCH 015/124] Review fixes for Bug #8753 Invalid schema object version after dropping index --- sql/ha_ndbcluster.cc | 9 ++++----- sql/ha_ndbcluster.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 70b86ca08d1..f0988affc2e 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -328,7 +328,7 @@ void ha_ndbcluster::no_uncommitted_rows_reset(THD *thd) # The mapped error code */ -void ha_ndbcluster::invalidateCache() +void ha_ndbcluster::invalidateDictionaryCache() { NDBDICT *dict= get_ndb()->getDictionary(); DBUG_PRINT("info", ("invalidating %s", m_tabname)); @@ -341,8 +341,7 @@ void ha_ndbcluster::invalidateCache() NDBINDEX *unique_index = (NDBINDEX *) m_index[i].unique_index; NDB_INDEX_TYPE idx_type= m_index[i].type; - - switch(m_index[i].type) { + switch(idx_type) { case(PRIMARY_KEY_ORDERED_INDEX): case(ORDERED_INDEX): dict->invalidateIndex(index->getName(), m_tabname); @@ -369,7 +368,7 @@ int ha_ndbcluster::ndb_err(NdbConnection *trans) switch (err.classification) { case NdbError::SchemaError: { - invalidateCache(); + invalidateDictionaryCache(); break; } default: @@ -759,7 +758,7 @@ int ha_ndbcluster::get_metadata(const char *path) if (!invalidating_ndb_table) { DBUG_PRINT("info", ("Invalidating table")); - invalidateCache(); + invalidateDictionaryCache(); invalidating_ndb_table= TRUE; } else diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index 149276c8356..2261b56b071 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -201,7 +201,7 @@ class ha_ndbcluster: public handler void print_results(); longlong get_auto_increment(); - void invalidateCache(); + void invalidateDictionaryCache(); int ndb_err(NdbConnection*); bool uses_blob_value(bool all_fields); From 9c6cc47f749d37fb0cc9d5ff48818237bacd5012 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 12:03:33 +0200 Subject: [PATCH 016/124] InnoDB: Portability fixes for warnings reported on IA-64 Windows innobase/buf/buf0lru.c: Portability fix: Use %p for printing pointers innobase/dict/dict0dict.c: Properly cast the arguments of toupper() innobase/eval/eval0proc.c: Declare loop_var_value with a matching data type. innobase/include/mem0mem.ic: Remove implicit type conversion innobase/include/page0page.ic: Portability fix: Use %p for printing pointers innobase/include/pars0pars.h: Remove implicit type conversion innobase/include/pars0sym.h: Remove implicit type conversion innobase/mem/mem0dbg.c: Portability fix: Use %p for printing pointers innobase/os/os0file.c: Add DWORD casts for Windows innobase/os/os0sync.c: Add DWORD casts for Windows innobase/os/os0thread.c: Add DWORD casts for Windows innobase/rem/rem0cmp.c: Make implicit type conversions explicit innobase/row/row0mysql.c: Make implicit type conversions explicit innobase/row/row0sel.c: Portability fix: Use %p for printing pointers innobase/trx/trx0sys.c: Declare trx_sys_mysql_bin_log_pos_high and trx_sys_mysql_bin_log_pos_low with a matching data type innobase/ut/ut0ut.c: Make implicit type conversion explicit --- innobase/buf/buf0lru.c | 6 +++--- innobase/dict/dict0dict.c | 5 +++-- innobase/eval/eval0proc.c | 2 +- innobase/include/mem0mem.ic | 2 +- innobase/include/page0page.ic | 8 ++++---- innobase/include/pars0pars.h | 2 +- innobase/include/pars0sym.h | 2 +- innobase/mem/mem0dbg.c | 2 +- innobase/os/os0file.c | 22 +++++++++++----------- innobase/os/os0sync.c | 4 ++-- innobase/os/os0thread.c | 4 ++-- innobase/rem/rem0cmp.c | 13 ++++++++----- innobase/row/row0mysql.c | 12 ++++++------ innobase/row/row0sel.c | 8 ++++---- innobase/trx/trx0sys.c | 3 ++- innobase/ut/ut0ut.c | 2 +- 16 files changed, 51 insertions(+), 46 deletions(-) diff --git a/innobase/buf/buf0lru.c b/innobase/buf/buf0lru.c index f3fb19ae183..05e92933edf 100644 --- a/innobase/buf/buf0lru.c +++ b/innobase/buf/buf0lru.c @@ -877,11 +877,11 @@ buf_LRU_block_remove_hashed_page( (ulong) block->offset); if (buf_page_hash_get(block->space, block->offset)) { fprintf(stderr, -"InnoDB: From hash table we find block %lx of %lu %lu which is not %lx\n", - (ulong) buf_page_hash_get(block->space, block->offset), +"InnoDB: From hash table we find block %p of %lu %lu which is not %p\n", + buf_page_hash_get(block->space, block->offset), (ulong) buf_page_hash_get(block->space, block->offset)->space, (ulong) buf_page_hash_get(block->space, block->offset)->offset, - (ulong) block); + block); } #ifdef UNIV_DEBUG diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c index a73dd8b9dd9..2bceb432aa6 100644 --- a/innobase/dict/dict0dict.c +++ b/innobase/dict/dict0dict.c @@ -2292,8 +2292,9 @@ dict_scan_to( /* Outside quotes: look for the keyword. */ ulint i; for (i = 0; string[i]; i++) { - if (toupper((ulint)(ptr[i])) - != toupper((ulint)(string[i]))) { + if (toupper((int)(unsigned char)(ptr[i])) + != toupper((int)(unsigned char) + (string[i]))) { goto nomatch; } } diff --git a/innobase/eval/eval0proc.c b/innobase/eval/eval0proc.c index f710fed880f..50676e4f3fc 100644 --- a/innobase/eval/eval0proc.c +++ b/innobase/eval/eval0proc.c @@ -161,7 +161,7 @@ for_step( { for_node_t* node; que_node_t* parent; - int loop_var_value; + lint loop_var_value; ut_ad(thr); diff --git a/innobase/include/mem0mem.ic b/innobase/include/mem0mem.ic index 714c30e3642..82d88099c3f 100644 --- a/innobase/include/mem0mem.ic +++ b/innobase/include/mem0mem.ic @@ -606,7 +606,7 @@ mem_strdupq( char* dst; char* d; const char* s = str; - int len = strlen(str) + 3; + size_t len = strlen(str) + 3; /* calculate the number of quote characters in the string */ while((s = strchr(s, q)) != NULL) { s++; diff --git a/innobase/include/page0page.ic b/innobase/include/page0page.ic index 3d2bf3b090e..c7bf78040e9 100644 --- a/innobase/include/page0page.ic +++ b/innobase/include/page0page.ic @@ -484,10 +484,10 @@ page_rec_get_next( "InnoDB: Next record offset is nonsensical %lu in record at offset %lu\n", (ulong)offs, (ulong)(rec - page)); fprintf(stderr, -"\nInnoDB: rec address %lx, first buffer frame %lx\n" -"InnoDB: buffer pool high end %lx, buf fix count %lu\n", - (ulong)rec, (ulong)buf_pool->frame_zero, - (ulong)buf_pool->high_end, +"\nInnoDB: rec address %p, first buffer frame %p\n" +"InnoDB: buffer pool high end %p, buf fix count %lu\n", + rec, buf_pool->frame_zero, + buf_pool->high_end, (ulong)buf_block_align(rec)->buf_fix_count); buf_page_print(page); diff --git a/innobase/include/pars0pars.h b/innobase/include/pars0pars.h index 28985e2f9d0..62a41a881e8 100644 --- a/innobase/include/pars0pars.h +++ b/innobase/include/pars0pars.h @@ -414,7 +414,7 @@ pars_complete_graph_for_exec( /* Struct used to denote a reserved word in a parsing tree */ struct pars_res_word_struct{ - ulint code; /* the token code for the reserved word from + int code; /* the token code for the reserved word from pars0grm.h */ }; diff --git a/innobase/include/pars0sym.h b/innobase/include/pars0sym.h index a40523861dd..633a49e3cb5 100644 --- a/innobase/include/pars0sym.h +++ b/innobase/include/pars0sym.h @@ -152,7 +152,7 @@ struct sym_tab_struct{ parser */ const char* sql_string; /* SQL string to parse */ - int string_len; + size_t string_len; /* SQL string length */ int next_char_pos; /* position of the next character in diff --git a/innobase/mem/mem0dbg.c b/innobase/mem/mem0dbg.c index ea8c296f8cf..7c0be818948 100644 --- a/innobase/mem/mem0dbg.c +++ b/innobase/mem/mem0dbg.c @@ -445,7 +445,7 @@ mem_heap_validate_or_print( && (mem_block_get_len(block) > UNIV_PAGE_SIZE)) { fprintf(stderr, -"InnoDB: Error: mem block %lx length %lu > UNIV_PAGE_SIZE\n", (ulong) block, +"InnoDB: Error: mem block %p length %lu > UNIV_PAGE_SIZE\n", block, (ulong) mem_block_get_len(block)); /* error */ diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c index cc743ffad41..8d1ad895aa9 100644 --- a/innobase/os/os0file.c +++ b/innobase/os/os0file.c @@ -2042,8 +2042,8 @@ try_again: ut_ad(buf); ut_ad(n > 0); - low = offset; - high = offset_high; + low = (DWORD) offset; + high = (DWORD) offset_high; /* Protect the seek / read operation with a mutex */ i = ((ulint) file) % OS_FILE_N_SEEK_MUTEXES; @@ -2059,7 +2059,7 @@ try_again: goto error_handling; } - ret = ReadFile(file, buf, n, &len, NULL); + ret = ReadFile(file, buf, (DWORD) n, &len, NULL); os_mutex_exit(os_file_seek_mutexes[i]); @@ -2145,8 +2145,8 @@ try_again: ut_ad(buf); ut_ad(n > 0); - low = offset; - high = offset_high; + low = (DWORD) offset; + high = (DWORD) offset_high; /* Protect the seek / read operation with a mutex */ i = ((ulint) file) % OS_FILE_N_SEEK_MUTEXES; @@ -2162,7 +2162,7 @@ try_again: goto error_handling; } - ret = ReadFile(file, buf, n, &len, NULL); + ret = ReadFile(file, buf, (DWORD) n, &len, NULL); os_mutex_exit(os_file_seek_mutexes[i]); @@ -2231,8 +2231,8 @@ os_file_write( ut_ad(buf); ut_ad(n > 0); retry: - low = offset; - high = offset_high; + low = (DWORD) offset; + high = (DWORD) offset_high; /* Protect the seek / write operation with a mutex */ i = ((ulint) file) % OS_FILE_N_SEEK_MUTEXES; @@ -2259,7 +2259,7 @@ retry: return(FALSE); } - ret = WriteFile(file, buf, n, &len, NULL); + ret = WriteFile(file, buf, (DWORD) n, &len, NULL); /* Always do fsync to reduce the probability that when the OS crashes, a database page is only partially physically written to disk. */ @@ -3244,7 +3244,7 @@ os_aio( #ifdef WIN_ASYNC_IO ibool retval; BOOL ret = TRUE; - DWORD len = n; + DWORD len = (DWORD) n; void* dummy_mess1; void* dummy_mess2; ulint dummy_type; @@ -4091,7 +4091,7 @@ loop: if (os_n_file_reads == os_n_file_reads_old) { avg_bytes_read = 0.0; } else { - avg_bytes_read = os_bytes_read_since_printout / + avg_bytes_read = (double) os_bytes_read_since_printout / (os_n_file_reads - os_n_file_reads_old); } diff --git a/innobase/os/os0sync.c b/innobase/os/os0sync.c index c48c44a4c70..18d92af5054 100644 --- a/innobase/os/os0sync.c +++ b/innobase/os/os0sync.c @@ -361,7 +361,7 @@ os_event_wait_time( ut_a(event); if (time != OS_SYNC_INFINITE_TIME) { - err = WaitForSingleObject(event->handle, time / 1000); + err = WaitForSingleObject(event->handle, (DWORD) time / 1000); } else { err = WaitForSingleObject(event->handle, INFINITE); } @@ -408,7 +408,7 @@ os_event_wait_multiple( ut_a(native_event_array); ut_a(n > 0); - index = WaitForMultipleObjects(n, native_event_array, + index = WaitForMultipleObjects((DWORD) n, native_event_array, FALSE, /* Wait for any 1 event */ INFINITE); /* Infinite wait time limit */ diff --git a/innobase/os/os0thread.c b/innobase/os/os0thread.c index 12a8abf3069..0278e3b2b66 100644 --- a/innobase/os/os0thread.c +++ b/innobase/os/os0thread.c @@ -100,7 +100,7 @@ os_thread_create( { #ifdef __WIN__ os_thread_t thread; - ulint win_thread_id; + DWORD win_thread_id; os_mutex_enter(os_sync_mutex); os_thread_count++; @@ -253,7 +253,7 @@ os_thread_sleep( ulint tm) /* in: time in microseconds */ { #ifdef __WIN__ - Sleep(tm / 1000); + Sleep((DWORD) tm / 1000); #elif defined(__NETWARE__) delay(tm / 1000); #else diff --git a/innobase/rem/rem0cmp.c b/innobase/rem/rem0cmp.c index cf549284acc..f2dc8a7021a 100644 --- a/innobase/rem/rem0cmp.c +++ b/innobase/rem/rem0cmp.c @@ -321,7 +321,9 @@ cmp_data_data_slow( && dtype_get_charset_coll(cur_type->prtype) != data_mysql_latin1_swedish_charset_coll)) { - return(cmp_whole_field(cur_type, data1, len1, data2, len2)); + return(cmp_whole_field(cur_type, + data1, (unsigned) len1, + data2, (unsigned) len2)); } /* Compare then the fields */ @@ -527,8 +529,9 @@ cmp_dtuple_rec_with_match( ret = cmp_whole_field( cur_type, - dfield_get_data(dtuple_field), dtuple_f_len, - rec_b_ptr, rec_f_len); + dfield_get_data(dtuple_field), + (unsigned) dtuple_f_len, + rec_b_ptr, (unsigned) rec_f_len); if (ret != 0) { cur_bytes = 0; @@ -851,8 +854,8 @@ cmp_rec_rec_with_match( data_mysql_latin1_swedish_charset_coll)) { ret = cmp_whole_field(cur_type, - rec1_b_ptr, rec1_f_len, - rec2_b_ptr, rec2_f_len); + rec1_b_ptr, (unsigned) rec1_f_len, + rec2_b_ptr, (unsigned) rec2_f_len); if (ret != 0) { cur_bytes = 0; diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index 482cf698547..e2b34e6e3f1 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -745,7 +745,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -839,7 +839,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -954,7 +954,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -1202,7 +1202,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -1367,7 +1367,7 @@ row_mysql_recover_tmp_table( } else { int status; - int namelen = strlen(table->name); + int namelen = (int) strlen(table->name); char* old_name = mem_strdupl(table->name, namelen); /* replace "rsql" with "#sql" */ old_name[ptr - table->name + 1] = '#'; @@ -1857,7 +1857,7 @@ row_drop_table_for_mysql_in_background( trx_free_for_background(trx); - return(error); + return((int) error); } /************************************************************************* diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index 7c935128d8a..07140e74e54 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -3326,10 +3326,10 @@ rec_loop: ut_print_timestamp(stderr); buf_page_print(buf_frame_align(rec)); fprintf(stderr, -"\nInnoDB: rec address %lx, first buffer frame %lx\n" -"InnoDB: buffer pool high end %lx, buf block fix count %lu\n", - (ulong)rec, (ulong)buf_pool->frame_zero, - (ulong)buf_pool->high_end, +"\nInnoDB: rec address %p, first buffer frame %p\n" +"InnoDB: buffer pool high end %p, buf block fix count %lu\n", + rec, buf_pool->frame_zero, + buf_pool->high_end, (ulong)buf_block_align(rec)->buf_fix_count); fprintf(stderr, "InnoDB: Index corruption: rec offs %lu next offs %lu, page no %lu,\n" diff --git a/innobase/trx/trx0sys.c b/innobase/trx/trx0sys.c index 54bd5be01a1..51e193d563b 100644 --- a/innobase/trx/trx0sys.c +++ b/innobase/trx/trx0sys.c @@ -666,7 +666,8 @@ trx_sys_print_mysql_binlog_offset(void) { trx_sysf_t* sys_header; mtr_t mtr; - ulong trx_sys_mysql_bin_log_pos_high, trx_sys_mysql_bin_log_pos_low; + ulint trx_sys_mysql_bin_log_pos_high; + ulint trx_sys_mysql_bin_log_pos_low; mtr_start(&mtr); diff --git a/innobase/ut/ut0ut.c b/innobase/ut/ut0ut.c index 18722149a8f..2a2db9442b3 100644 --- a/innobase/ut/ut0ut.c +++ b/innobase/ut/ut0ut.c @@ -428,7 +428,7 @@ ut_copy_file( len < (long) sizeof buf ? (size_t) len : sizeof buf; size_t size = fread(buf, 1, maxs, src); fwrite(buf, 1, size, dest); - len -= size; + len -= (long) size; if (size < maxs) { break; } From a2bad73fdd0a7a91336bc601b4424f00059a2674 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 13:04:05 +0100 Subject: [PATCH 017/124] Various fixes for Windows 2003 Platform SDK SP1 beta VC++Files/client/mysqladmin_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/client/mysqldump_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/client/mysqlimport_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/client/mysqlshow_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/client/mysqltest_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/comp_err/comp_err_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/isamchk/isamchk_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/libmysql/libmysql_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/libmysqld/libmysqld_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/libmysqltest/myTest_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/my_print_defaults/my_print_defaults_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/myisamchk/myisamchk_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/myisamlog/myisamlog_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/myisampack/myisampack_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/mysql-test/mysql_test_run_new_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/mysql_ia64.dsw: Fixes for Platform SDK SP1 beta1 (Window IA64) Changed project order (dependency doesn't work with platform SDK) VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/mysqlcheck/mysqlcheck_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/mysqlmanager/MySqlManager_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/mysqlwatch/mysqlwatch_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/pack_isam/pack_isam_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/perror/perror_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/replace/replace_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/sql/mysqld_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/sql/mysqldmax_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/strings/strings_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/test1/test1_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/tests/mysql_client_test_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) VC++Files/thr_test/thr_test_ia64.dsp: Fixes for Platform SDK SP1 beta1 (Window IA64) --- VC++Files/client/mysqladmin_ia64.dsp | 16 +- VC++Files/client/mysqldump_ia64.dsp | 16 +- VC++Files/client/mysqlimport_ia64.dsp | 36 +- VC++Files/client/mysqlshow_ia64.dsp | 16 +- VC++Files/client/mysqltest_ia64.dsp | 21 +- VC++Files/comp_err/comp_err_ia64.dsp | 12 +- VC++Files/isamchk/isamchk_ia64.dsp | 12 +- VC++Files/libmysql/libmysql_ia64.dsp | 12 +- .../examples/test_libmysqld_ia64.dsp | 11 +- VC++Files/libmysqld/libmysqld_ia64.dsp | 23 +- VC++Files/libmysqltest/myTest_ia64.dsp | 12 +- .../my_print_defaults_ia64.dsp | 19 +- .../myisam_ftdump/myisam_ftdump_ia64.dsp | 12 +- VC++Files/myisamchk/myisamchk_ia64.dsp | 16 +- VC++Files/myisamlog/myisamlog_ia64.dsp | 16 +- VC++Files/myisampack/myisampack_ia64.dsp | 16 +- .../mysql-test/mysql_test_run_new_ia64.dsp | 14 +- VC++Files/mysql_ia64.dsw | 329 ++++++------------ VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp | 16 +- VC++Files/mysqlcheck/mysqlcheck_ia64.dsp | 16 +- VC++Files/mysqlmanager/MySqlManager_ia64.dsp | 8 +- .../mysqlshutdown/mysqlshutdown_ia64.dsp | 12 +- VC++Files/mysqlwatch/mysqlwatch_ia64.dsp | 8 +- VC++Files/pack_isam/pack_isam_ia64.dsp | 16 +- VC++Files/perror/perror_ia64.dsp | 20 +- VC++Files/replace/replace_ia64.dsp | 16 +- VC++Files/sql/mysqld_ia64.dsp | 40 +-- VC++Files/sql/mysqldmax_ia64.dsp | 10 +- VC++Files/strings/strings_ia64.dsp | 2 +- VC++Files/test1/test1_ia64.dsp | 13 +- VC++Files/tests/mysql_client_test_ia64.dsp | 35 +- VC++Files/thr_test/thr_test_ia64.dsp | 12 +- 32 files changed, 380 insertions(+), 453 deletions(-) diff --git a/VC++Files/client/mysqladmin_ia64.dsp b/VC++Files/client/mysqladmin_ia64.dsp index 1669b1bad72..5a5e4a99071 100644 --- a/VC++Files/client/mysqladmin_ia64.dsp +++ b/VC++Files/client/mysqladmin_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqladmin - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqladmin.mak". +!MESSAGE NMAKE /f "mysqladmin_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqladmin.mak" CFG="mysqladmin - WinIA64 classic" +!MESSAGE NMAKE /f "mysqladmin_ia64.mak" CFG="mysqladmin - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqladmin - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqladmin.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqladmin.exe" /libpath:"..\lib_debug\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqladmin - WinIA64 classic" @@ -106,8 +106,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/client/mysqldump_ia64.dsp b/VC++Files/client/mysqldump_ia64.dsp index 27b8ed47062..698cd0b9c2c 100644 --- a/VC++Files/client/mysqldump_ia64.dsp +++ b/VC++Files/client/mysqldump_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqldump - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqldump.mak". +!MESSAGE NMAKE /f "mysqldump_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqldump.mak" CFG="mysqldump - WinIA64 classic" +!MESSAGE NMAKE /f "mysqldump_ia64.mak" CFG="mysqldump - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqldump - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqldump.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\dbug.lib ..\lib_debug\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqldump.exe" /libpath:"..\lib_debug\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqldump - WinIA64 classic" @@ -106,8 +106,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib /nologo /subsystem:console /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysys.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/client/mysqlimport_ia64.dsp b/VC++Files/client/mysqlimport_ia64.dsp index 35d9e6e9f64..cd8f5523efd 100644 --- a/VC++Files/client/mysqlimport_ia64.dsp +++ b/VC++Files/client/mysqlimport_ia64.dsp @@ -4,22 +4,22 @@ # TARGTYPE "Win32 (x86) Console Application" 0x0103 -CFG=mysqlimport - Win32IAg4 classic +CFG=mysqlimport - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqlimport.mak". +!MESSAGE NMAKE /f "mysqlimport_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqlimport.mak" CFG="mysqlimport - Win32IAg4 classic" +!MESSAGE NMAKE /f "mysqlimport_ia64.mak" CFG="mysqlimport - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE -!MESSAGE "mysqlimport - Win32IAg4 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "mysqlimport - Win32IAg4 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE "mysqlimport - Win32IAg4 classic" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - WinIA64 classic" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project @@ -29,7 +29,7 @@ CFG=mysqlimport - Win32IAg4 classic CPP=cl.exe RSC=rc.exe -!IF "$(CFG)" == "mysqlimport - Win32IAg4 Release" +!IF "$(CFG)" == "mysqlimport - WinIA64 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 @@ -52,10 +52,10 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 -!ELSEIF "$(CFG)" == "mysqlimport - Win32IAg4 Debug" +!ELSEIF "$(CFG)" == "mysqlimport - WinIA64 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 @@ -78,10 +78,10 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlimport.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 setargv.obj ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlimport.exe" /libpath:"..\lib_debug\\" /machine:IA64 -!ELSEIF "$(CFG)" == "mysqlimport - Win32IAg4 classic" +!ELSEIF "$(CFG)" == "mysqlimport - WinIA64 classic" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 @@ -106,16 +106,16 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF # Begin Target -# Name "mysqlimport - Win32IAg4 Release" -# Name "mysqlimport - Win32IAg4 Debug" -# Name "mysqlimport - Win32IAg4 classic" +# Name "mysqlimport - WinIA64 Release" +# Name "mysqlimport - WinIA64 Debug" +# Name "mysqlimport - WinIA64 classic" # Begin Source File SOURCE=.\mysqlimport.c diff --git a/VC++Files/client/mysqlshow_ia64.dsp b/VC++Files/client/mysqlshow_ia64.dsp index 8b02a03707b..dd83a3f1ef5 100644 --- a/VC++Files/client/mysqlshow_ia64.dsp +++ b/VC++Files/client/mysqlshow_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqlshow - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqlshow.mak". +!MESSAGE NMAKE /f "mysqlshow_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqlshow.mak" CFG="mysqlshow - WinIA64 classic" +!MESSAGE NMAKE /f "mysqlshow_ia64.mak" CFG="mysqlshow - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqlshow - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlshow.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlshow.exe" /libpath:"..\lib_debug\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqlshow - WinIA64 classic" @@ -106,8 +106,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/client/mysqltest_ia64.dsp b/VC++Files/client/mysqltest_ia64.dsp index f43444f686c..160683725e6 100644 --- a/VC++Files/client/mysqltest_ia64.dsp +++ b/VC++Files/client/mysqltest_ia64.dsp @@ -8,12 +8,12 @@ CFG=MYSQLTEST - WinIA64 RELEASE !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqltest.mak". +!MESSAGE NMAKE /f "mysqltest_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqltest.mak" CFG="MYSQLTEST - WinIA64 RELEASE" +!MESSAGE NMAKE /f "mysqltest_ia64.mak" CFG="MYSQLTEST - WinIA64 RELEASE" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -46,16 +46,16 @@ MTL=midl.exe # ADD BASE MTL /nologo /tlb".\debug\mysqltest.tlb" /win64 # ADD MTL /nologo /tlb".\debug\mysqltest.tlb" /win64 # ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Z7 /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /GZ /c -# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GZ /G2 /EHsc /Wp64 /Zm600 /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /G2 /EHsc /Wp64 /Zm600 /c # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /debug /machine:I386 /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /debug /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" +# ADD LINK32 ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "mysqltest - WinIA64 classic" @@ -69,6 +69,7 @@ LINK32=link.exe # PROP Use_Debug_Libraries 0 # PROP Output_Dir ".\classic" # PROP Intermediate_Dir ".\classic" +# PROP Ignore_Export_Lib 0 # PROP Target_Dir "" MTL=midl.exe # ADD BASE MTL /nologo /tlb".\classic\mysqltest.tlb" /win64 @@ -81,9 +82,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" +# ADD LINK32 ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib bufferoverflowU.lib /nologo /subsystem:console /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "mysqltest - WinIA64 Release" @@ -103,16 +104,16 @@ MTL=midl.exe # ADD BASE MTL /nologo /tlb".\release\mysqltest.tlb" /win64 # ADD MTL /nologo /tlb".\release\mysqltest.tlb" /win64 # ADD BASE CPP /nologo /G6 /MT /W3 /GX /Ob1 /Gy /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /c -# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GF /G2 /EHsc /Wp64 /Zm600 /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /G2 /GF /EHsc /Wp64 /Zm600 /c # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /machine:I386 /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" +# ADD LINK32 ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib bufferoverflowU.lib /nologo /subsystem:console /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ENDIF diff --git a/VC++Files/comp_err/comp_err_ia64.dsp b/VC++Files/comp_err/comp_err_ia64.dsp index f7f30094803..9d4e8bd5353 100644 --- a/VC++Files/comp_err/comp_err_ia64.dsp +++ b/VC++Files/comp_err/comp_err_ia64.dsp @@ -9,12 +9,12 @@ CFG=COMP_ERR - WinIA64 DEBUG !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "comp_err.mak". +!MESSAGE NMAKE /f "comp_err_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "comp_err.mak" CFG="COMP_ERR - WinIA64 DEBUG" +!MESSAGE NMAKE /f "comp_err_ia64.mak" CFG="COMP_ERR - WinIA64 DEBUG" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib /nologo /subsystem:console /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 !ELSEIF "$(CFG)" == "comp_err - WinIA64 Debug" @@ -75,8 +75,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 !ENDIF diff --git a/VC++Files/isamchk/isamchk_ia64.dsp b/VC++Files/isamchk/isamchk_ia64.dsp index f019705cb5b..61eab230e1f 100644 --- a/VC++Files/isamchk/isamchk_ia64.dsp +++ b/VC++Files/isamchk/isamchk_ia64.dsp @@ -8,12 +8,12 @@ CFG=isamchk - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "isamchk.mak". +!MESSAGE NMAKE /f "isamchk_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "isamchk.mak" CFG="isamchk - WinIA64 classic" +!MESSAGE NMAKE /f "isamchk_ia64.mak" CFG="isamchk - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/isamchk.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /out:"../client_release/isamchk.exe" /machine:IA64 !ELSEIF "$(CFG)" == "isamchk - WinIA64 classic" @@ -79,8 +79,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/isamchk.exe" /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/isamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /out:"../client_release/isamchk.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/isamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/libmysql/libmysql_ia64.dsp b/VC++Files/libmysql/libmysql_ia64.dsp index 1584e6f567e..4c4776dfc2f 100644 --- a/VC++Files/libmysql/libmysql_ia64.dsp +++ b/VC++Files/libmysql/libmysql_ia64.dsp @@ -8,12 +8,12 @@ CFG=libmysql - WinIA64 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "libmysql.mak". +!MESSAGE NMAKE /f "libmysql_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "libmysql.mak" CFG="libmysql - WinIA64 Debug" +!MESSAGE NMAKE /f "libmysql_ia64.mak" CFG="libmysql - WinIA64 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -53,8 +53,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:IX86 /machine:IA64 -# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:IX86 /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:IA64 +# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:windows /dll /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release" /machine:IA64 # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Desc=Move DLL export lib @@ -85,8 +85,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:IA64 -# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:IX86 /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /libpath:"." /libpath:"..\lib_debug" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:IA64 +# ADD LINK32 zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /libpath:"." /libpath:"..\lib_debug" /machine:IA64 # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" diff --git a/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp b/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp index 9391346d518..049b214e5ff 100644 --- a/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp +++ b/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp @@ -8,12 +8,12 @@ CFG=test_libmysqld - WinIA64 Release !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "test_libmysqld.mak". +!MESSAGE NMAKE /f "test_libmysqld_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "test_libmysqld.mak" CFG="test_libmysqld - WinIA64 Release" +!MESSAGE NMAKE /f "test_libmysqld_ia64.mak" CFG="test_libmysqld - WinIA64 Release" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -39,16 +39,15 @@ RSC=rc.exe # PROP Target_Dir "" MTL=midl.exe # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /Zi /O2 /I "..\..\include" /I "../include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /YX /FD /G2 /EHsc /Wp64 /Zm600 /c -# SUBTRACT CPP /WX /Fr +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "..\..\include" /I "../include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c # ADD BASE RSC /l 0x416 /d "NDEBUG" # ADD RSC /l 0x416 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib /nologo /subsystem:console /machine:IX86 /nodefaultlib:"LIBCMTD" /out:"Release/mysql-server.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib:"LIBCMTD" /out:"Release/mysql-server.exe" /machine:IA64 # Begin Target # Name "test_libmysqld - WinIA64 Release" diff --git a/VC++Files/libmysqld/libmysqld_ia64.dsp b/VC++Files/libmysqld/libmysqld_ia64.dsp index f47936371d6..fe99ea480c7 100644 --- a/VC++Files/libmysqld/libmysqld_ia64.dsp +++ b/VC++Files/libmysqld/libmysqld_ia64.dsp @@ -8,12 +8,12 @@ CFG=libmysqld - WinIA64 pro !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "libmysqld.mak". +!MESSAGE NMAKE /f "libmysqld_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "libmysqld.mak" CFG="libmysqld - WinIA64 pro" +!MESSAGE NMAKE /f "libmysqld_ia64.mak" CFG="libmysqld - WinIA64 pro" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -55,8 +55,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:IA64 +# ADD LINK32 ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /dll /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 !ELSEIF "$(CFG)" == "libmysqld - WinIA64 Debug" @@ -72,8 +72,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../zlib" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c -# SUBTRACT CPP /X /Fr +# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../zlib" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 # ADD BASE RSC /l 0x416 /d "_DEBUG" @@ -82,8 +81,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug_tls.lib ..\lib_debug\mysys_tls.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap_tls.lib ..\lib_debug\innodb.lib /nologo /dll /incremental:no /debug /machine:IX86 /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\dbug_tls.lib ..\lib_debug\myisam_tls.lib ..\lib_debug\myisammrg_tls.lib ..\lib_debug\mysys_tls.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap_tls.lib ..\lib_debug\innodb.lib ../lib_debug\zlib.lib bufferoverflowU.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib /nologo /dll /incremental:no /debug /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /machine:IA64 !ELSEIF "$(CFG)" == "libmysqld - WinIA64 classic" @@ -110,8 +109,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib /nologo /dll /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /dll /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 !ELSEIF "$(CFG)" == "libmysqld - WinIA64 pro" @@ -138,8 +137,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /machine:IX86 /out:"../lib_pro/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /dll /out:"../lib_pro/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 !ENDIF diff --git a/VC++Files/libmysqltest/myTest_ia64.dsp b/VC++Files/libmysqltest/myTest_ia64.dsp index 9b603082535..4affa81ef54 100644 --- a/VC++Files/libmysqltest/myTest_ia64.dsp +++ b/VC++Files/libmysqltest/myTest_ia64.dsp @@ -8,12 +8,12 @@ CFG=myTest - WinIA64 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "myTest.mak". +!MESSAGE NMAKE /f "myTest_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - WinIA64 Debug" +!MESSAGE NMAKE /f "myTest_ia64.mak" CFG="myTest - WinIA64 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /libpath:"..\lib_release" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /libpath:"..\lib_release" /machine:IA64 !ELSEIF "$(CFG)" == "myTest - WinIA64 Debug" @@ -77,8 +77,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64 !ENDIF diff --git a/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp b/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp index ed52d8363bb..9fefa5c927e 100644 --- a/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp +++ b/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp @@ -8,12 +8,12 @@ CFG=my_print_defaults - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "my_print_defaults.mak". +!MESSAGE NMAKE /f "my_print_defaults_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "my_print_defaults.mak" CFG="my_print_defaults - WinIA64 classic" +!MESSAGE NMAKE /f "my_print_defaults_ia64.mak" CFG="my_print_defaults - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/my_print_defaults.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/my_print_defaults.exe" /machine:IA64 !ELSEIF "$(CFG)" == "my_print_defaults - WinIA64 Debug" @@ -69,15 +69,16 @@ LINK32=link.exe # PROP Target_Dir "" MTL=midl.exe # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /RTC1 /c -# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /RTC1 /G2 /EHsc /Wp64 /Zm600 /c +# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c # ADD BASE RSC /l 0x416 /d "_DEBUG" # ADD RSC /l 0x416 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /nodefaultlib:"LIBCMTD.lib" /out:"../client_debug/my_print_defaults.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\dbug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /nodefaultlib:"LIBCMTD.lib" /out:"../client_debug/my_print_defaults.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "my_print_defaults - WinIA64 classic" @@ -102,8 +103,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/my_print_defaults.exe" /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/my_print_defaults.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /out:"../client_release/my_print_defaults.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/my_print_defaults.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp b/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp index 16d6f8253dc..175561c6c05 100644 --- a/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp +++ b/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp @@ -8,12 +8,12 @@ CFG=myisam_ftdump - WinIA64 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "myisam_ftdump.mak". +!MESSAGE NMAKE /f "myisam_ftdump_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "myisam_ftdump.mak" CFG="myisam_ftdump - WinIA64 Debug" +!MESSAGE NMAKE /f "myisam_ftdump_ia64.mak" CFG="myisam_ftdump - WinIA64 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -50,8 +50,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisam_ftdump.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/myisam_ftdump.exe" /machine:IA64 !ELSEIF "$(CFG)" == "myisam_ftdump - WinIA64 Debug" @@ -76,8 +76,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_debug\zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/myisam_ftdump.exe" t /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ole32.lib oleaut32.lib odbc32.lib odbccp32.lib ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\dbug.lib ..\lib_debug\zlib.lib kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/myisam_ftdump.exe" /machine:IA64 !ENDIF diff --git a/VC++Files/myisamchk/myisamchk_ia64.dsp b/VC++Files/myisamchk/myisamchk_ia64.dsp index 026cb31e2b8..d6b1d5825ee 100644 --- a/VC++Files/myisamchk/myisamchk_ia64.dsp +++ b/VC++Files/myisamchk/myisamchk_ia64.dsp @@ -8,12 +8,12 @@ CFG=myisamchk - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "myisamchk.mak". +!MESSAGE NMAKE /f "myisamchk_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "myisamchk.mak" CFG="myisamchk - WinIA64 classic" +!MESSAGE NMAKE /f "myisamchk_ia64.mak" CFG="myisamchk - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisamchk.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/myisamchk.exe" /machine:IA64 !ELSEIF "$(CFG)" == "myisamchk - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/myisamchk.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\dbug.lib ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\zlib.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/myisamchk.exe" /machine:IA64 !ELSEIF "$(CFG)" == "myisamchk - WinIA64 classic" @@ -106,8 +106,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisamchk.exe" /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/myisamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /out:"../client_release/myisamchk.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/myisamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/myisamlog/myisamlog_ia64.dsp b/VC++Files/myisamlog/myisamlog_ia64.dsp index 6025f82d3fd..dc830eaf314 100644 --- a/VC++Files/myisamlog/myisamlog_ia64.dsp +++ b/VC++Files/myisamlog/myisamlog_ia64.dsp @@ -8,12 +8,12 @@ CFG=myisamlog - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "myisamlog.mak". +!MESSAGE NMAKE /f "myisamlog_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "myisamlog.mak" CFG="myisamlog - WinIA64 classic" +!MESSAGE NMAKE /f "myisamlog_ia64.mak" CFG="myisamlog - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /machine:IX86 /out:"../client_release/myisamlog.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /out:"../client_release/myisamlog.exe" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "myisamlog - WinIA64 Debug" @@ -79,8 +79,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /pdb:"debug/myisamchk.pdb" /debug /machine:IX86 /out:"../client_debug/myisamlog.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /pdb:"debug/myisamchk.pdb" /debug /out:"../client_debug/myisamlog.exe" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "myisamlog - WinIA64 classic" @@ -106,9 +106,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /machine:IX86 /out:"../client_release/myisamlog.exe" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /out:"../client_release/myisamlog.exe" /machine:IA64 # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /machine:IX86 /out:"../client_classic/myisamlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /out:"../client_classic/myisamlog.exe" /libpath:"..\lib_release\\" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ENDIF diff --git a/VC++Files/myisampack/myisampack_ia64.dsp b/VC++Files/myisampack/myisampack_ia64.dsp index e482e243220..8a2045faa22 100644 --- a/VC++Files/myisampack/myisampack_ia64.dsp +++ b/VC++Files/myisampack/myisampack_ia64.dsp @@ -8,12 +8,12 @@ CFG=myisampack - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "myisampack.mak". +!MESSAGE NMAKE /f "myisampack_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "myisampack.mak" CFG="myisampack - WinIA64 classic" +!MESSAGE NMAKE /f "myisampack_ia64.mak" CFG="myisampack - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisampack.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/myisampack.exe" /machine:IA64 !ELSEIF "$(CFG)" == "myisampack - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/myisampack.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/myisampack.exe" /machine:IA64 !ELSEIF "$(CFG)" == "myisampack - WinIA64 classic" @@ -104,8 +104,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/myisampack.exe" /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/myisampack.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /out:"../client_release/myisampack.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/myisampack.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp b/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp index fc7e274b5be..a6252d0cb7b 100644 --- a/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp +++ b/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysql_test_run_new - WinIA64 Release !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysql_test_run_new.mak". +!MESSAGE NMAKE /f "mysql_test_run_new_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysql_test_run_new.mak" CFG="mysql_test_run_new - WinIA64 Release" +!MESSAGE NMAKE /f "mysql_test_run_new_ia64.mak" CFG="mysql_test_run_new - WinIA64 Release" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -39,6 +39,7 @@ RSC=rc.exe # PROP Use_Debug_Libraries 1 # PROP Output_Dir ".\Debug" # PROP Intermediate_Dir ".\Debug" +# PROP Ignore_Export_Lib 0 # PROP Target_Dir "" MTL=midl.exe # ADD BASE MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /WinIA64 @@ -51,9 +52,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /map /debug /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /map /debug /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /incremental:no /map /debug /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /map /debug /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "mysql_test_run_new - WinIA64 Release" @@ -67,6 +68,7 @@ LINK32=link.exe # PROP Use_Debug_Libraries 0 # PROP Output_Dir ".\Release" # PROP Intermediate_Dir ".\Release" +# PROP Ignore_Export_Lib 0 # PROP Target_Dir "" MTL=midl.exe # ADD BASE MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /WinIA64 @@ -79,9 +81,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\mysql-test\mysql_test_run_new.exe" t +# ADD LINK32 t kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 # SUBTRACT LINK32 /pdb:none !ENDIF diff --git a/VC++Files/mysql_ia64.dsw b/VC++Files/mysql_ia64.dsw index a7368d09da6..8af4a7e5c42 100644 --- a/VC++Files/mysql_ia64.dsw +++ b/VC++Files/mysql_ia64.dsw @@ -3,7 +3,20 @@ Microsoft Developer Studio Workspace File, Format Version 6.00 ############################################################################### -Project: "MySqlManager"=".\mysqlmanager\MySqlManager_ia64.dsp" - Package Owner=<4> +Project: "mysys"=".\mysys\mysys_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + + +############################################################################### + +Project: "strings"=".\strings\strings_ia64.dsp" - Package Owner=<4> Package=<5> {{{ @@ -11,14 +24,35 @@ Package=<5> Package=<4> {{{ - Begin Project Dependency - Project_Dep_Name mysqlclient_ia64 - End Project Dependency }}} ############################################################################### -Project: "bdb"=".\bdb\bdb_ia64.dsp" - Package Owner=<4> +Project: "vio"=".\vio\vio_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "regex"=".\regex\regex_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "zlib"=".\zlib\zlib_ia64.dsp" - Package Owner=<4> Package=<5> {{{ @@ -60,6 +94,75 @@ Package=<4> ############################################################################### +Project: "mysqlclient"=".\client\mysqlclient_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "myisam"=".\myisam\myisam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "myisammrg"=".\myisammrg\myisammrg_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "myisampack"=".\myisampack\myisampack_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + Project: "heap"=".\heap\heap_ia64.dsp" - Package Owner=<4> Package=<5> @@ -222,21 +325,6 @@ Package=<4> ############################################################################### -Project: "myisam"=".\myisam\myisam_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name dbug - End Project Dependency -}}} - -############################################################################### - Project: "myisam_ftdump"=".\myisam_ftdump\myisam_ftdump_ia64.dsp" - Package Owner=<4> Package=<5> @@ -315,45 +403,6 @@ Package=<4> ############################################################################### -Project: "myisammrg"=".\myisammrg\myisammrg_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "myisampack"=".\myisampack\myisampack_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name dbug - End Project Dependency - Begin Project Dependency - Project_Dep_Name myisam - End Project Dependency - Begin Project Dependency - Project_Dep_Name mysys - End Project Dependency - Begin Project Dependency - Project_Dep_Name strings - End Project Dependency - Begin Project Dependency - Project_Dep_Name zlib - End Project Dependency -}}} - -############################################################################### - Project: "mysql"=".\client\mysql_ia64.dsp" - Package Owner=<4> Package=<5> @@ -417,21 +466,6 @@ Package=<4> ############################################################################### -Project: "mysqlclient"=".\client\mysqlclient_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name zlib - End Project Dependency -}}} - -############################################################################### - Project: "mysqld"=".\sql\mysqld_ia64.dsp" - Package Owner=<4> Package=<5> @@ -441,22 +475,22 @@ Package=<5> Package=<4> {{{ Begin Project Dependency - Project_Dep_Name heap_ia64 + Project_Dep_Name heap End Project Dependency Begin Project Dependency - Project_Dep_Name isam_ia64 + Project_Dep_Name isam End Project Dependency Begin Project Dependency - Project_Dep_Name merge_ia64 + Project_Dep_Name merge End Project Dependency Begin Project Dependency - Project_Dep_Name mysys_ia64 + Project_Dep_Name mysys End Project Dependency Begin Project Dependency - Project_Dep_Name regex_ia64 + Project_Dep_Name regex End Project Dependency Begin Project Dependency - Project_Dep_Name strings_ia64 + Project_Dep_Name strings End Project Dependency Begin Project Dependency Project_Dep_Name dbug_ia64 @@ -498,9 +532,6 @@ Package=<4> Project_Dep_Name myisammrg End Project Dependency Begin Project Dependency - Project_Dep_Name bdb - End Project Dependency - Begin Project Dependency Project_Dep_Name vio End Project Dependency Begin Project Dependency @@ -636,18 +667,6 @@ Package=<4> ############################################################################### -Project: "mysys"=".\mysys\mysys_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - Project: "pack_isam"=".\pack_isam\pack_isam_ia64.dsp" - Package Owner=<4> Package=<5> @@ -693,18 +712,6 @@ Package=<4> ############################################################################### -Project: "regex"=".\regex\regex_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - Project: "replace"=".\replace\replace_ia64.dsp" - Package Owner=<4> Package=<5> @@ -726,18 +733,6 @@ Package=<4> ############################################################################### -Project: "strings"=".\strings\strings_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - Project: "test1"=".\test1\test1_ia64.dsp" - Package Owner=<4> Package=<5> @@ -753,24 +748,6 @@ Package=<4> ############################################################################### -Project: "test_libmysqld"=".\libmysqld\examples\test_libmysqld_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name libmysqld - End Project Dependency - Begin Project Dependency - Project_Dep_Name zlib - End Project Dependency -}}} - -############################################################################### - Project: "thr_test"=".\thr_test\thr_test_ia64.dsp" - Package Owner=<4> Package=<5> @@ -790,84 +767,6 @@ Package=<4> End Project Dependency }}} -############################################################################### - -Project: "vio"=".\vio\vio_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "zlib"=".\zlib\zlib_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "mysqltest"=.\client\mysqltest_ia64.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - - -Package=<4> -{{{ Begin Project Dependency - Project_Dep_Name libmysql - End Project Dependency - Begin Project Dependency - Project_Dep_Name mysys - End Project Dependency - Begin Project Dependency - Project_Dep_Name regex - End Project Dependency -}}} - -############################################################################### - -Project: "mysql_client_test"=.\tests\mysql_client_test_ia64.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - - -Project: "mysql_test_run_new"=".\mysql-test\mysql_test_run_new_ia64.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ Begin Project Dependency - Project_Dep_Name mysqltest - End Project Dependency - Begin Project Dependency - Project_Dep_Name mysqladmin - End Project Dependency - Begin Project Dependency - Project_Dep_Name mysql_client_test - End Project Dependency -}}} - ############################################################################### diff --git a/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp b/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp index b8ec68ff1e1..334c5087365 100644 --- a/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp +++ b/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqlbinlog - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqlbinlog.mak". +!MESSAGE NMAKE /f "mysqlbinlog_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqlbinlog.mak" CFG="mysqlbinlog - WinIA64 classic" +!MESSAGE NMAKE /f "mysqlbinlog_ia64.mak" CFG="mysqlbinlog - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqlbinlog - WinIA64 Debug" @@ -77,8 +77,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlbinlog.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlbinlog.exe" /libpath:"..\lib_debug\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqlbinlog - WinIA64 classic" @@ -103,9 +103,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 # SUBTRACT BASE LINK32 /debug -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 # SUBTRACT LINK32 /debug !ENDIF diff --git a/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp b/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp index f97f5e07bcf..1f1cf76276f 100644 --- a/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp +++ b/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqlcheck - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqlcheck.mak". +!MESSAGE NMAKE /f "mysqlcheck_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqlcheck.mak" CFG="mysqlcheck - WinIA64 classic" +!MESSAGE NMAKE /f "mysqlcheck_ia64.mak" CFG="mysqlcheck - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqlcheck - WinIA64 Debug" @@ -76,8 +76,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqlcheck.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlcheck.exe" /libpath:"..\lib_debug\\" /machine:IA64 !ELSEIF "$(CFG)" == "mysqlcheck - WinIA64 classic" @@ -102,8 +102,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 -# ADD LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/mysqlmanager/MySqlManager_ia64.dsp b/VC++Files/mysqlmanager/MySqlManager_ia64.dsp index 98ead530497..b0ffc9e48c6 100644 --- a/VC++Files/mysqlmanager/MySqlManager_ia64.dsp +++ b/VC++Files/mysqlmanager/MySqlManager_ia64.dsp @@ -53,8 +53,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 /nologo /subsystem:windows /machine:IX86 /machine:IA64 -# ADD LINK32 /nologo /subsystem:windows /machine:IX86 /out:"../client_release/MySqlManager.exe" /machine:IA64 +# ADD BASE LINK32 /nologo /subsystem:windows /machine:IA64 +# ADD LINK32 /nologo /subsystem:windows /out:"../client_release/MySqlManager.exe" /machine:IA64 # SUBTRACT LINK32 /nodefaultlib !ELSEIF "$(CFG)" == "MySqlManager - WinIA64 Debug" @@ -82,8 +82,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /incremental:no /debug /machine:IX86 /out:"../client_debug/MySqlManager.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /incremental:no /debug /out:"../client_debug/MySqlManager.exe" /libpath:"..\lib_debug\\" /machine:IA64 !ENDIF diff --git a/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp b/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp index 41d38a102b8..2549606bf60 100644 --- a/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp +++ b/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqlshutdown - WinIA64 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqlshutdown.mak". +!MESSAGE NMAKE /f "mysqlshutdown_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqlshutdown.mak" CFG="mysqlshutdown - WinIA64 Debug" +!MESSAGE NMAKE /f "mysqlshutdown_ia64.mak" CFG="mysqlshutdown - WinIA64 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -53,8 +53,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /out:"../client_release/mysqlshutdown.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:windows /out:"../client_release/mysqlshutdown.exe" /machine:IA64 !ELSEIF "$(CFG)" == "mysqlshutdown - WinIA64 Debug" @@ -82,8 +82,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /out:"../client_release/mysqlshutdown.exe" /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /out:"../client_debug/mysqlshutdown.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /out:"../client_release/mysqlshutdown.exe" /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:windows /out:"../client_debug/mysqlshutdown.exe" /machine:IA64 !ENDIF diff --git a/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp b/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp index 7f544adf01d..eb17b6991f8 100644 --- a/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp +++ b/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqlwatch - WinIA64 Release !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqlwatch.mak". +!MESSAGE NMAKE /f "mysqlwatch_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqlwatch.mak" CFG="mysqlwatch - WinIA64 Release" +!MESSAGE NMAKE /f "mysqlwatch_ia64.mak" CFG="mysqlwatch - WinIA64 Release" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -46,8 +46,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqlwatch.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlwatch.exe" /machine:IA64 # Begin Target # Name "mysqlwatch - WinIA64 Release" diff --git a/VC++Files/pack_isam/pack_isam_ia64.dsp b/VC++Files/pack_isam/pack_isam_ia64.dsp index b50c94dd814..58b88f02f08 100644 --- a/VC++Files/pack_isam/pack_isam_ia64.dsp +++ b/VC++Files/pack_isam/pack_isam_ia64.dsp @@ -8,12 +8,12 @@ CFG=pack_isam - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "pack_isam.mak". +!MESSAGE NMAKE /f "pack_isam_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "pack_isam.mak" CFG="pack_isam - WinIA64 classic" +!MESSAGE NMAKE /f "pack_isam_ia64.mak" CFG="pack_isam - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/pack_isam.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/pack_isam.exe" /machine:IA64 !ELSEIF "$(CFG)" == "pack_isam - WinIA64 Debug" @@ -77,8 +77,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/pack_isam.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/pack_isam.exe" /machine:IA64 !ELSEIF "$(CFG)" == "pack_isam - WinIA64 classic" @@ -103,8 +103,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/pack_isam.exe" /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/pack_isam.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /out:"../client_release/pack_isam.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/pack_isam.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/perror/perror_ia64.dsp b/VC++Files/perror/perror_ia64.dsp index 278b0ad292d..69fe18340dd 100644 --- a/VC++Files/perror/perror_ia64.dsp +++ b/VC++Files/perror/perror_ia64.dsp @@ -8,12 +8,12 @@ CFG=perror - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "perror.mak". +!MESSAGE NMAKE /f "perror_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "perror.mak" CFG="perror - WinIA64 classic" +!MESSAGE NMAKE /f "perror_ia64.mak" CFG="perror - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -54,8 +54,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/perror.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /out:"../client_release/perror.exe" /machine:IA64 !ELSEIF "$(CFG)" == "perror - WinIA64 Debug" @@ -71,8 +71,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c -# SUBTRACT CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 # ADD BASE RSC /l 0x409 /d "_DEBUG" @@ -81,8 +80,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /incremental:no /debug /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\dbug.lib /nologo /incremental:no /debug /machine:IA64 +# SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "perror - WinIA64 classic" @@ -110,8 +110,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/perror.exe" /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/perror.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /out:"../client_release/perror.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/perror.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/replace/replace_ia64.dsp b/VC++Files/replace/replace_ia64.dsp index 4167e9ef255..925af8d8081 100644 --- a/VC++Files/replace/replace_ia64.dsp +++ b/VC++Files/replace/replace_ia64.dsp @@ -8,12 +8,12 @@ CFG=replace - WinIA64 classic !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "replace.mak". +!MESSAGE NMAKE /f "replace_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "replace.mak" CFG="replace - WinIA64 classic" +!MESSAGE NMAKE /f "replace_ia64.mak" CFG="replace - WinIA64 classic" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -52,8 +52,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/replace.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/replace.exe" /machine:IA64 !ELSEIF "$(CFG)" == "replace - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /incremental:no /machine:IX86 /out:"../client_debug/replace.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ../lib_debug/dbug.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /out:"../client_debug/replace.exe" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "replace - WinIA64 classic" @@ -107,8 +107,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /machine:IX86 /out:"../client_release/replace.exe" /machine:IA64 -# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/replace.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj /nologo /subsystem:console /out:"../client_release/replace.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/replace.exe" /libpath:"..\lib_release\\" /machine:IA64 !ENDIF diff --git a/VC++Files/sql/mysqld_ia64.dsp b/VC++Files/sql/mysqld_ia64.dsp index 1b01e0d07bc..310f48fcfb9 100644 --- a/VC++Files/sql/mysqld_ia64.dsp +++ b/VC++Files/sql/mysqld_ia64.dsp @@ -8,12 +8,12 @@ CFG=mysqld - WinIA64 pro nt !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysqld.mak". +!MESSAGE NMAKE /f "mysqld_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysqld.mak" CFG="mysqld - WinIA64 pro nt" +!MESSAGE NMAKE /f "mysqld_ia64.mak" CFG="mysqld - WinIA64 pro nt" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -58,8 +58,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqld.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\myisammrg.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\myisam.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqld.exe" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" @@ -85,8 +85,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\innodb.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /out:"../client_debug/mysqld-debug.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib ..\lib_debug\myisammrg.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\innodb.lib ..\lib_debug\myisam.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqld-debug.exe" /machine:IA64 !ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" @@ -113,8 +113,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:IX86 /out:"../client_release/mysqld-nt.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /map /out:"../client_release/mysqld-nt.exe" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" @@ -142,9 +142,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:IA64 # SUBTRACT BASE LINK32 /debug -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib /nologo /subsystem:console /map /machine:IX86 /out:"../client_release/mysqld-max-nt.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib ..\lib_release\mysys.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /map /out:"../client_release/mysqld-max-nt.exe" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" @@ -172,8 +172,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_release/mysqld-max.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib ..\lib_release\mysys.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqld-max.exe" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" @@ -200,9 +200,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 # SUBTRACT BASE LINK32 /debug -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" @@ -229,9 +229,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 # SUBTRACT BASE LINK32 /debug -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_pro/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_pro/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" @@ -259,9 +259,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 # SUBTRACT BASE LINK32 /debug -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_classic/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" @@ -288,9 +288,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 # SUBTRACT BASE LINK32 /debug -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /machine:IX86 /out:"../client_pro/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib ..\lib_release\mysys.lib ..\lib_release\innodb.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_pro/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 # SUBTRACT LINK32 /debug !ENDIF diff --git a/VC++Files/sql/mysqldmax_ia64.dsp b/VC++Files/sql/mysqldmax_ia64.dsp index b9dd5d687a9..9d79d224e4a 100644 --- a/VC++Files/sql/mysqldmax_ia64.dsp +++ b/VC++Files/sql/mysqldmax_ia64.dsp @@ -53,8 +53,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-opt.exe" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:none /debug /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-opt.exe" !ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" @@ -78,7 +78,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /incremental:no /pdb:"debug/mysqld.pdb" /debug /machine:I386 /nodefaultlib:"LIBC" /out:"../client_debug/mysqld-max.exe" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /incremental:no /pdb:"debug/mysqld.pdb" /debug /nodefaultlib:"LIBC" /out:"../client_debug/mysqld-max.exe" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" @@ -102,8 +102,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innobase-nt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"NT/mysqld-nt.pdb" /map:"NT/mysqld-nt.map" /machine:I386 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-nt.exe" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innobase-nt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"NT/mysqld-nt.pdb" /map:"NT/mysqld-nt.map" /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-nt.exe" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" diff --git a/VC++Files/strings/strings_ia64.dsp b/VC++Files/strings/strings_ia64.dsp index 287eaaedd96..6449b2b1355 100644 --- a/VC++Files/strings/strings_ia64.dsp +++ b/VC++Files/strings/strings_ia64.dsp @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c -# ADD CPP /nologo /MTd /W3 /Zi /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 # ADD RSC /l 0x409 diff --git a/VC++Files/test1/test1_ia64.dsp b/VC++Files/test1/test1_ia64.dsp index 2cb5dde46b5..6e283ac0224 100644 --- a/VC++Files/test1/test1_ia64.dsp +++ b/VC++Files/test1/test1_ia64.dsp @@ -8,12 +8,12 @@ CFG=test1 - WinIA64 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "test1.mak". +!MESSAGE NMAKE /f "test1_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "test1.mak" CFG="test1 - WinIA64 Debug" +!MESSAGE NMAKE /f "test1_ia64.mak" CFG="test1 - WinIA64 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /machine:IA64 !ELSEIF "$(CFG)" == "test1 - WinIA64 Debug" @@ -77,8 +77,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug -machineÖIA64 /libpath:"..\lib_debug" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64 +# SUBTRACT LINK32 /pdb:none !ENDIF diff --git a/VC++Files/tests/mysql_client_test_ia64.dsp b/VC++Files/tests/mysql_client_test_ia64.dsp index 3a68a7406aa..6b4f29ed59f 100644 --- a/VC++Files/tests/mysql_client_test_ia64.dsp +++ b/VC++Files/tests/mysql_client_test_ia64.dsp @@ -2,18 +2,18 @@ # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** -# TARGTYPE "Win3 (x86) Console Application" 0x0103 +# TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=mysql_client_test - WinIA64 Release !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "mysql_client_test.mak". +!MESSAGE NMAKE /f "mysql_client_test_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "mysql_client_test.mak" CFG="mysql_client_test - Win32 Release" +!MESSAGE NMAKE /f "mysql_client_test_ia64.mak" CFG="mysql_client_test - WinIA64 Release" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -35,6 +35,7 @@ RSC=rc.exe # PROP Use_Debug_Libraries 0 # PROP Output_Dir ".\Release" # PROP Intermediate_Dir ".\Release" +# PROP Ignore_Export_Lib 0 # PROP Target_Dir "" MTL=midl.exe # ADD BASE MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32 @@ -47,9 +48,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\tests\mysql_client_test.exe" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\tests\mysql_client_test.exe" /machine:IA64 # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /machine:IA64 /out:"..\tests\mysql_client_test.exe" /pdbtype:sept +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib /out:"..\tests\mysql_client_test.exe" /machine:IA64 /machine:IA64 # SUBTRACT LINK32 /pdb:none # Begin Target @@ -57,6 +58,30 @@ LINK32=link.exe # Begin Source File SOURCE=tests\mysql_client_test.c +DEP_CPP_MYSQL=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\errmsg.h"\ + "..\include\m_ctype.h"\ + "..\include\m_string.h"\ + "..\include\my_alloc.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_dir.h"\ + "..\include\my_getopt.h"\ + "..\include\my_global.h"\ + "..\include\my_list.h"\ + "..\include\my_pthread.h"\ + "..\include\my_sys.h"\ + "..\include\mysql.h"\ + "..\include\mysql_com.h"\ + "..\include\mysql_time.h"\ + "..\include\mysql_version.h"\ + "..\include\raid.h"\ + "..\include\t_ctype.h"\ + "..\include\typelib.h"\ + # End Source File # End Target # End Project diff --git a/VC++Files/thr_test/thr_test_ia64.dsp b/VC++Files/thr_test/thr_test_ia64.dsp index 64aae03faaf..90b6ca02648 100644 --- a/VC++Files/thr_test/thr_test_ia64.dsp +++ b/VC++Files/thr_test/thr_test_ia64.dsp @@ -8,12 +8,12 @@ CFG=thr_test - WinIA64 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "thr_test.mak". +!MESSAGE NMAKE /f "thr_test_ia64.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "thr_test.mak" CFG="thr_test - WinIA64 Debug" +!MESSAGE NMAKE /f "thr_test_ia64.mak" CFG="thr_test - WinIA64 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /machine:IA64 # SUBTRACT LINK32 /nodefaultlib !ELSEIF "$(CFG)" == "thr_test - WinIA64 Debug" @@ -78,8 +78,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /machine:IA64 !ENDIF From 38962196844accc5cbfa199d20ec224f76c129a7 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 13:42:01 +0100 Subject: [PATCH 018/124] mysql-test-run to default run with ndbcluster if compiled with that support --- mysql-test/Makefile.am | 3 +++ mysql-test/mysql-test-run.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 9426b20d09c..b2e86d8c00e 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -20,12 +20,14 @@ if HAVE_NDBCLUSTER_DB SUBDIRS = ndb DIST_SUBDIRS=ndb +USE_NDBCLUSTER=\"--ndbcluster\" else # If one uses automake conditionals, automake will automatically # include all possible branches to DIST_SUBDIRS goal. # Reset DIST_SUBDIRS if we don't use NDB SUBDIRS= DIST_SUBDIRS= +USE_NDBCLUSTER=\"\" endif benchdir_root= $(prefix) @@ -98,6 +100,7 @@ SUFFIXES = .sh -e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \ -e 's!@''MYSQL_NO_DASH_VERSION''@!@MYSQL_NO_DASH_VERSION@!' \ -e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \ + -e 's!@''USE_NDBCLUSTER''@!$(USE_NDBCLUSTER)!g' \ $< > $@-t @CHMOD@ +x $@-t @MV@ $@-t $@ diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 8c484d2ddb1..0562a15bd40 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -218,7 +218,7 @@ EXTRA_MYSQL_TEST_OPT="" EXTRA_MYSQLDUMP_OPT="" EXTRA_MYSQLBINLOG_OPT="" USE_RUNNING_SERVER="" -USE_NDBCLUSTER="" +USE_NDBCLUSTER=@USE_NDBCLUSTER@ USE_RUNNING_NDBCLUSTER="" USE_PURIFY="" PURIFY_LOGS="" From ba05aef9306f3cac9a7280c8197b7eda5fda29c6 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 13:59:28 +0100 Subject: [PATCH 019/124] Fixed crash if max_connections is exceeded. BUG#8996 sql/mysqld.cc: mark the thread as killed in close_connection sql/protocol.cc: don't bother remembering warnings if the thread is dying --- sql/mysqld.cc | 1 + sql/protocol.cc | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index fb9a1d70512..6fadc96bb20 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1432,6 +1432,7 @@ void close_connection(THD *thd, uint errcode, bool lock) errcode ? ER(errcode) : "")); if (lock) (void) pthread_mutex_lock(&LOCK_thread_count); + thd->killed=1; if ((vio=thd->net.vio) != 0) { if (errcode) diff --git a/sql/protocol.cc b/sql/protocol.cc index 4cecd016553..6bec4dbe47f 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -122,8 +122,9 @@ void send_error(THD *thd, uint sql_errno, const char *err) } VOID(net_write_command(net,(uchar) 255, "", 0, (char*) err,length)); #endif /* EMBEDDED_LIBRARY*/ - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, sql_errno, - orig_err ? orig_err : ER(sql_errno)); + if (!thd->killed) + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, sql_errno, + orig_err ? orig_err : ER(sql_errno)); thd->is_fatal_error=0; // Error message is given thd->net.report_error= 0; From 39fb340d4bb45a04538cb89c96f5751e63aac3cd Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 14:28:09 +0100 Subject: [PATCH 020/124] mysql-test-run.sh: added skip-ndbcluster switch mysql-test/mysql-test-run.sh: added skip-ndbcluster switch --- mysql-test/mysql-test-run.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 0562a15bd40..36d434c57d4 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -426,6 +426,11 @@ while test $# -gt 0; do TMP=`$ECHO "$1" | $SED -e "s;--valgrind-options=;;"` VALGRIND="$VALGRIND $TMP" ;; + --skip-ndbcluster) + USE_NDBCLUSTER="" + EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT $1" + EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT $1" + ;; --skip-*) EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT $1" EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT $1" From 309b4721d50ba42bc0c286a4be5a95d49649af28 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 15:28:10 +0200 Subject: [PATCH 021/124] trx0trx.c: Print a hex dump of the trx_t object if trx->n_mysql_tables_in_use != 0 at trx_free() innobase/trx/trx0trx.c: Print a hex dump of the trx_t object if trx->n_mysql_tables_in_use != 0 at trx_free() --- innobase/trx/trx0trx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/innobase/trx/trx0trx.c b/innobase/trx/trx0trx.c index 2fdee94b089..8f409034df0 100644 --- a/innobase/trx/trx0trx.c +++ b/innobase/trx/trx0trx.c @@ -268,6 +268,8 @@ trx_free( (ulong)trx->mysql_n_tables_locked); trx_print(stderr, trx); + + ut_print_buf(stderr, (byte*)trx, sizeof(trx_t)); } ut_a(trx->magic_n == TRX_MAGIC_N); From 2934567449504594cfc378aa7ff964de8df1faf7 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 16:45:19 +0100 Subject: [PATCH 022/124] additional safety --- sql/protocol.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sql/protocol.cc b/sql/protocol.cc index 6bec4dbe47f..773bbe697a3 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -252,8 +252,9 @@ net_printf(THD *thd, uint errcode, ...) strmake(net->last_error, text_pos, length); strmake(net->sqlstate, mysql_errno_to_sqlstate(errcode), SQLSTATE_LENGTH); #endif - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, errcode, - text_pos ? text_pos : ER(errcode)); + if (!thd->killed) + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, errcode, + text_pos ? text_pos : ER(errcode)); thd->is_fatal_error=0; // Error message is given DBUG_VOID_RETURN; } From 8e24e6079f0a0e60dee696a9164bf4d8356c9630 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 7 Mar 2005 18:15:19 -0800 Subject: [PATCH 023/124] Flush entries from the query cache for tables used in administrative statements that may alter the table, such as REPAIR TABLE. (Bug #8480) mysql-test/r/query_cache.result: Add new results mysql-test/t/query_cache.test: Add regression test sql/sql_table.cc: Make sure entries are flushed from the query cache for any administrative command run on a table that acquires a write lock on it (and thus might change it), like REPAIR TABLE. --- mysql-test/r/query_cache.result | 20 ++++++++++++++++++++ mysql-test/t/query_cache.test | 12 ++++++++++++ sql/sql_table.cc | 4 +++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index 85fe77b1f10..af86f67f8c3 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -717,4 +717,24 @@ select * from t1; a drop table t1; drop table t1; +set global query_cache_size=1024*1024; +flush query cache; +create table t1 ( a int ); +insert into t1 values (1); +select a from t1; +a +1 +select a from t1; +a +1 +show status like 'qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +repair table t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +show status like 'qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +drop table t1; set GLOBAL query_cache_size=0; diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index 61fbadde1e1..35eefececf3 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -533,4 +533,16 @@ select * from t1; drop table t1; drop table t1; +# Bug #8480: REPAIR TABLE needs to flush the table from the query cache +set global query_cache_size=1024*1024; +flush query cache; +create table t1 ( a int ); +insert into t1 values (1); +select a from t1; +select a from t1; +show status like 'qcache_queries_in_cache'; +repair table t1; +show status like 'qcache_queries_in_cache'; +drop table t1; + set GLOBAL query_cache_size=0; diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 33bdd992efb..20d9b1dcb7d 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1318,7 +1318,9 @@ static int mysql_admin_table(THD* thd, TABLE_LIST* tables, thd->exit_cond(old_message); if (thd->killed) goto err; - open_for_modify=0; + /* Flush entries in the query cache involving this table. */ + query_cache_invalidate3(thd, table->table, 0); + open_for_modify= 0; } int result_code = (table->table->file->*operator_func)(thd, check_opt); From c9b0cbf01399c6f6bce2bbae7a56952bff3fffb2 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 11:12:18 +0200 Subject: [PATCH 024/124] InnoDB: Win64 portability fix: add missing declaration and correct the definition of srv_max_buf_pool_modified_pct. innobase/include/srv0srv.h: Declare srv_max_buf_pool_modified_pct innobase/srv/srv0srv.c: Define srv_max_buf_pool_modified_pct as ulong, as it is declared in ha_innodb.h. --- innobase/include/srv0srv.h | 1 + innobase/srv/srv0srv.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/innobase/include/srv0srv.h b/innobase/include/srv0srv.h index 30dd3db7bb1..e18ceb32bbe 100644 --- a/innobase/include/srv0srv.h +++ b/innobase/include/srv0srv.h @@ -101,6 +101,7 @@ extern ibool srv_use_doublewrite_buf; extern ibool srv_set_thread_priorities; extern int srv_query_thread_priority; +extern ulong srv_max_buf_pool_modified_pct; extern ulong srv_max_purge_lag; /*-------------------------------------------*/ diff --git a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c index 5c5d62f777b..6ac8727ee26 100644 --- a/innobase/srv/srv0srv.c +++ b/innobase/srv/srv0srv.c @@ -165,7 +165,7 @@ in the buffer pool to all database pages in the buffer pool smaller than the following number. But it is not guaranteed that the value stays below that during a time of heavy update/insert activity. */ -ulint srv_max_buf_pool_modified_pct = 90; +ulong srv_max_buf_pool_modified_pct = 90; /* If the following is != 0 we do not allow inserts etc. This protects the user from forgetting the innodb_force_recovery keyword to my.cnf */ From 9606577705362ec585cc90ae5e908a0ee526e17b Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 10:25:21 +0100 Subject: [PATCH 025/124] bug#8918 - ndb - improve error message when stopping due to StartFailureTimeout --- ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp b/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp index 089cf613b03..9eaa203b098 100644 --- a/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp +++ b/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp @@ -103,8 +103,22 @@ void Ndbcntr::execCONTINUEB(Signal* signal) } Uint64 now = NdbTick_CurrentMillisecond(); - if(now > c_start.m_startFailureTimeout){ - ndbrequire(false); + if(now > c_start.m_startFailureTimeout) + { + jam(); + Uint32 to_3= 0; + const ndb_mgm_configuration_iterator * p = + theConfiguration.getOwnConfigIterator(); + ndb_mgm_get_int_parameter(p, CFG_DB_START_FAILURE_TIMEOUT, &to_3); + BaseString tmp; + tmp.append("Shutting down node as total restart time exceeds " + " StartFailureTimeout as set in config file "); + if(to_3 == 0) + tmp.append(" 0 (inifinite)"); + else + tmp.appfmt(" %d", to_3); + + progError(__LINE__, ERR_SYSTEM_ERROR, tmp.c_str()); } signal->theData[0] = ZSTARTUP; @@ -413,7 +427,7 @@ inline Uint64 setTimeout(Uint64 time, Uint32 timeoutValue){ if(timeoutValue == 0) - return ~0; + return ~(Uint64)0; return time + timeoutValue; } From 609e4dc6b3bab17ab1d5e373d949ed23c01fa102 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 14:27:18 +0100 Subject: [PATCH 026/124] Post-merge manual fix. Build-tools/Do-compile: Post-merge manual fix: Avoid the duplicate line. --- Build-tools/Do-compile | 1 - 1 file changed, 1 deletion(-) diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile index 3dd326b968c..e7ab3357de9 100755 --- a/Build-tools/Do-compile +++ b/Build-tools/Do-compile @@ -7,7 +7,6 @@ use Sys::Hostname; @config_options= (); @make_options= (); -$opt_comment=$opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env=""; $opt_comment=$opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env=""; $opt_dbd_options=$opt_perl_options=$opt_config_options=$opt_make_options=$opt_suffix=""; $opt_tmp=$opt_version_suffix=""; From 0f1b29c53688719123054b204877fdaa50b2e3ce Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 15:26:34 +0100 Subject: [PATCH 027/124] bug#9052 - ndb - Use correct length during unique index build ndb/src/kernel/blocks/trix/Trix.cpp: Use correct length during unique index build --- ndb/src/kernel/blocks/trix/Trix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndb/src/kernel/blocks/trix/Trix.cpp b/ndb/src/kernel/blocks/trix/Trix.cpp index 75bc19b6a20..cd11cb4d575 100644 --- a/ndb/src/kernel/blocks/trix/Trix.cpp +++ b/ndb/src/kernel/blocks/trix/Trix.cpp @@ -712,7 +712,7 @@ void Trix::setupSubscription(Signal* signal, SubscriptionRecPtr subRecPtr) subCreateReq->subscriptionType = SubCreateReq::SingleTableScan; sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ, - signal, SubCreateReq::SignalLength, JBB, orderPtr, 1); + signal, SubCreateReq::SignalLength+1, JBB, orderPtr, 1); } void Trix::setupTableScan(Signal* signal, SubscriptionRecPtr subRecPtr) From 976543fe847ea2a23612e35bae790658d069b5f2 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 17:08:17 +0200 Subject: [PATCH 028/124] dict0load.c: dict_load_table(): Remove the check for row_format=compact for now, because the flag bit we used (high-order bit of mix_len) has not been zero for at least two customers. innobase/dict/dict0load.c: dict_load_table(): Remove the check for row_format=compact for now, because the flag bit we used (high-order bit of mix_len) has not been zero for at least two customers. --- innobase/dict/dict0load.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index 0bbf0511b57..a4637e09d07 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -647,22 +647,6 @@ dict_load_table( return(NULL); } -#if MYSQL_VERSION_ID < 50300 - /* Starting from MySQL 5.0.3, the high-order bit of MIX_LEN is the - "compact format" flag. */ - field = rec_get_nth_field(rec, 7, &len); - if (mach_read_from_1(field) & 0x80) { - btr_pcur_close(&pcur); - mtr_commit(&mtr); - mem_heap_free(heap); - ut_print_timestamp(stderr); - fprintf(stderr, - " InnoDB: table %s is in the new compact format\n" - "InnoDB: of MySQL 5.0.3 or later\n", name); - return(NULL); - } -#endif /* MYSQL_VERSION_ID < 50300 */ - ut_a(0 == ut_strcmp((char *) "SPACE", dict_field_get_col( dict_index_get_nth_field( From 1b6b5ed8fa7737ee36537eab6d5f390aeb051ae7 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 18:18:53 +0200 Subject: [PATCH 029/124] Netware build environment script related patch. --- netware/BUILD/mwenv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netware/BUILD/mwenv b/netware/BUILD/mwenv index 88491446c43..674c148a399 100755 --- a/netware/BUILD/mwenv +++ b/netware/BUILD/mwenv @@ -7,13 +7,13 @@ export MYDEV="F:/mydev" export MWCNWx86Includes="$MYDEV/libc/include;$MYDEV/fs64/headers;$MYDEV/zlib-1.1.4;$MYDEV" -export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/fs64/imports;$MYDEV/zlib-1.1.4;$MYDEV/mysql-4.0.21/netware/BUILD" +export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/fs64/imports;$MYDEV/zlib-1.1.4;$MYDEV/mysql-VERSION/netware/BUILD" export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib;libz.a;neb.imp;zPublics.imp;knetware.imp" export WINEPATH="$MYDEV/mw/bin" # the default added path is "$HOME/mydev/mysql-x.x-x/netware/BUILD" -export PATH="$PATH:/home/kp/mydev/mysql-4.0.21/netware/BUILD" +export PATH="$PATH:BUILD_DIR/mysql-VERSION/netware/BUILD" export AR='mwldnlm' export AR_FLAGS='-type library -o' From 5ff4f8e50356c43ff248ea68ae63fcbb21c1e7e6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 18:32:31 +0200 Subject: [PATCH 030/124] Added possibility to add disabled tests to mysql-test-run. --- mysql-test/mysql-test-run.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 36d434c57d4..8231742abef 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -817,6 +817,18 @@ skip_test() { $ECHO "$RES$RES_SPACE [ skipped ]" } + +disable_test() { + USERT=" ...." + SYST=" ...." + REALT=" ...." + pname=`$ECHO "$1 "|$CUT -c 1-24` + RES="$pname" + skip_inc + $ECHO "$RES$RES_SPACE [ disabled ] $2" +} + + report_current_test () { tname=$1 echo "CURRENT_TEST: $tname" >> $MASTER_MYERR @@ -1471,6 +1483,12 @@ run_testcase () if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ] ; then result_file="$result_file$RESULT_EXT" fi + if [ -f "$TESTDIR/$tname.disabled" ] + then + comment=`$CAT $TESTDIR/$tname.disabled`; + disable_test $tname "$comment" + return + fi if [ "$USE_MANAGER" = 1 ] ; then many_slaves=`$EXPR \( \( $tname : rpl_failsafe \) != 0 \) \| \( \( $tname : rpl_chain_temp_table \) != 0 \)` fi From 606b0b177826b80f2fee75a96842b1076e5f28d4 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 10:43:44 -0600 Subject: [PATCH 031/124] Add dummy changelog file. It should merge upward without conflict. --- Docs/changelog-4.0.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 Docs/changelog-4.0.xml diff --git a/Docs/changelog-4.0.xml b/Docs/changelog-4.0.xml new file mode 100755 index 00000000000..fc33b3fdb5e --- /dev/null +++ b/Docs/changelog-4.0.xml @@ -0,0 +1,18 @@ + + + + + + + Changes in release 4.0.x + + + + This is a dummy changelog file. Don't use it yet. + + + From 9968ac77c421bfe98f3ff93ece89fe1ab08da7a3 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 11:49:56 -0600 Subject: [PATCH 032/124] changelog-4.0.xml: Fix bad root element name in DOCTYPE. Sheesh. Docs/changelog-4.0.xml: Fix bad root element name in DOCTYPE. Sheesh. --- Docs/changelog-4.0.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/changelog-4.0.xml b/Docs/changelog-4.0.xml index fc33b3fdb5e..f0f9aa881f1 100755 --- a/Docs/changelog-4.0.xml +++ b/Docs/changelog-4.0.xml @@ -1,5 +1,5 @@ - + + + + Changes in release 4.1.x + + + + This is a dummy changelog file. Don't use it yet. + + + From eb61d60d60fb700f554c5920b99560f3a4861b88 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 22:33:11 +0200 Subject: [PATCH 037/124] mysqld.cc: main(): add missing parameter to printf(ER(ER_READY),...) call sql/mysqld.cc: main(): add missing parameter to printf(ER(ER_READY),...) call --- sql/mysqld.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 6fadc96bb20..f6ba950701a 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3085,9 +3085,7 @@ we force server id to 2, but this MySQL server will not act as a slave."); printf(ER(ER_READY),my_progname,server_version, ((unix_sock == INVALID_SOCKET) ? (char*) "" : mysqld_unix_port), - mysqld_port); - if (MYSQL_COMPILATION_COMMENT[0] != '\0') - fputs(" " MYSQL_COMPILATION_COMMENT, stdout); + mysqld_port, MYSQL_COMPILATION_COMMENT); putchar('\n'); fflush(stdout); From b0e1389b82e1f05de98e436377e08c3c6ff9eed2 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 00:32:58 +0100 Subject: [PATCH 038/124] This code change has 0 effects as it's about the case where innobase_very_fast_shutdown!=0, which is always false. In a very fast InnoDB shutdown, we just ensure that no more transactions are running, flush InnoDB log, signal InnoDB threads to die, and then return from InnoDB (from innobase_end()) without waiting for those threads to actually die. I have tested on a 4CPU machine that even with --innodb_flush_log_at_trx_commit=0, this optimized InnoDB very fast shutdown loses no committed transactions. Patch pre-approved by Heikki. innobase/log/log0log.c: In an InnoDB very fast shutdown, we just need to wait for no more transactions to be happening and then we can flush the InnoDB log and don't need to wait for the signaled-to-die InnoDB threads to finish (saves seconds). innobase/srv/srv0start.c: In an InnoDB very fast shutdown, once we have forced a flush of the InnoDB log to disk, and signalled InnoDB threads to die, we needn't wait for these threads to die. --- innobase/log/log0log.c | 49 ++++++++++++++++++++-------------------- innobase/srv/srv0start.c | 7 ++++++ 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/innobase/log/log0log.c b/innobase/log/log0log.c index 5915146b466..e8a720e8a88 100644 --- a/innobase/log/log0log.c +++ b/innobase/log/log0log.c @@ -3047,7 +3047,10 @@ loop: mutex_enter(&kernel_mutex); - /* Check that there are no longer transactions */ + /* Check that there are no longer transactions. We need this wait even + for the 'very fast' shutdown, because the InnoDB layer may have + committed or prepared transactions and we don't want to lose them. */ + if (trx_n_mysql_transactions > 0 || UT_LIST_GET_LEN(trx_sys->trx_list) > 0) { @@ -3056,6 +3059,23 @@ loop: goto loop; } + if (srv_very_fast_shutdown) { + /* In a 'very fast' shutdown we do not flush the buffer pool: + it is essentially a 'crash' of the InnoDB server. + Make sure that the log is all flushed to disk, so that + we can recover all committed transactions in a crash + recovery. + In a 'very fast' shutdown we do not flush the buffer pool: + it is essentially a 'crash' of the InnoDB server. Then we must + not write the lsn stamps to the data files, since at a + startup InnoDB deduces from the stamps if the previous + shutdown was clean. */ + + log_buffer_flush_to_disk(); + return; /* We SKIP ALL THE REST !! */ + } + + /* Check that the master thread is suspended */ if (srv_n_threads_active[SRV_MASTER] != 0) { @@ -3092,24 +3112,13 @@ loop: log_archive_all(); #endif /* UNIV_LOG_ARCHIVE */ - if (!srv_very_fast_shutdown) { - /* In a 'very fast' shutdown we do not flush the buffer pool: - it is essentially a 'crash' of the InnoDB server. */ - log_make_checkpoint_at(ut_dulint_max, TRUE); - } else { - /* Make sure that the log is all flushed to disk, so that - we can recover all committed transactions in a crash - recovery */ - log_buffer_flush_to_disk(); - } mutex_enter(&(log_sys->mutex)); lsn = log_sys->lsn; - if ((ut_dulint_cmp(lsn, log_sys->last_checkpoint_lsn) != 0 - && !srv_very_fast_shutdown) + if ((ut_dulint_cmp(lsn, log_sys->last_checkpoint_lsn) != 0) #ifdef UNIV_LOG_ARCHIVE || (srv_log_archive_on && ut_dulint_cmp(lsn, @@ -3158,7 +3167,7 @@ loop: completely flushed to disk! (We do not call fil_write... if the 'very fast' shutdown is enabled.) */ - if (!srv_very_fast_shutdown && !buf_all_freed()) { + if (!buf_all_freed()) { goto loop; } @@ -3181,7 +3190,7 @@ loop: /* Make some checks that the server really is quiet */ ut_a(srv_n_threads_active[SRV_MASTER] == 0); - ut_a(srv_very_fast_shutdown || buf_all_freed()); + ut_a(buf_all_freed()); ut_a(0 == ut_dulint_cmp(lsn, log_sys->lsn)); if (ut_dulint_cmp(lsn, srv_start_lsn) < 0) { @@ -3196,15 +3205,7 @@ loop: srv_shutdown_lsn = lsn; - if (!srv_very_fast_shutdown) { - /* In a 'very fast' shutdown we do not flush the buffer pool: - it is essentially a 'crash' of the InnoDB server. Then we must - not write the lsn stamps to the data files, since at a - startup InnoDB deduces from the stamps if the previous - shutdown was clean. */ - fil_write_flushed_lsn_to_data_files(lsn, arch_log_no); - } fil_flush_file_spaces(FIL_TABLESPACE); @@ -3212,7 +3213,7 @@ loop: /* Make some checks that the server really is quiet */ ut_a(srv_n_threads_active[SRV_MASTER] == 0); - ut_a(srv_very_fast_shutdown || buf_all_freed()); + ut_a(buf_all_freed()); ut_a(0 == ut_dulint_cmp(lsn, log_sys->lsn)); } diff --git a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c index 210739b26fd..c65b7d3e141 100644 --- a/innobase/srv/srv0start.c +++ b/innobase/srv/srv0start.c @@ -1740,6 +1740,13 @@ innobase_shutdown_for_mysql(void) srv_shutdown_state = SRV_SHUTDOWN_EXIT_THREADS; + /* In a 'very fast' shutdown, we do not need to wait for these threads + to die; all which counts is that we flushed the log; a 'very fast' + shutdown is essentially a crash. */ + + if (srv_fast_shutdown) + return((int) DB_SUCCESS); + /* All threads end up waiting for certain events. Put those events to the signaled state. Then the threads will exit themselves in os_thread_event_wait(). */ From f2cfb6ef3b2cbf0ee54eaf6302640c5ace4d72f5 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 01:34:22 +0100 Subject: [PATCH 039/124] mysql-test-run.pl: Removed -c from /bin/sh call make_win_src_distribution.sh: Copy all content in mysql-test make_win_binary_distribution.sh, make_binary_distribution.sh: Add Perl version of mysql-test-run to package s_win32_dsp, s_win32, s_vxworks, s_test, s_readme, s_java, s_javah: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_javah: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_java: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_readme: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_test: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_vxworks: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_win32: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris bdb/dist/s_win32_dsp: Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris scripts/make_binary_distribution.sh: Add Perl version of mysql-test-run to package scripts/make_win_binary_distribution.sh: Add Perl version of mysql-test-run to package scripts/make_win_src_distribution.sh: Copy all content in mysql-test mysql-test/mysql-test-run.pl: Removed -c from /bin/sh call --- bdb/dist/s_java | 2 +- bdb/dist/s_javah | 2 +- bdb/dist/s_readme | 2 +- bdb/dist/s_test | 2 +- bdb/dist/s_vxworks | 2 +- bdb/dist/s_win32 | 2 +- bdb/dist/s_win32_dsp | 6 ++++-- mysql-test/mysql-test-run.pl | 18 ++++++++++++++---- scripts/make_binary_distribution.sh | 8 +++++--- scripts/make_win_binary_distribution.sh | 4 ++++ scripts/make_win_src_distribution.sh | 4 ++-- 11 files changed, 35 insertions(+), 17 deletions(-) diff --git a/bdb/dist/s_java b/bdb/dist/s_java index f3c856d0532..f7c96e823a1 100755 --- a/bdb/dist/s_java +++ b/bdb/dist/s_java @@ -5,7 +5,7 @@ msgjava="/* DO NOT EDIT: automatically built by dist/s_java. */" -. RELEASE +. ./RELEASE t=/tmp/__java c=/tmp/__javajnic diff --git a/bdb/dist/s_javah b/bdb/dist/s_javah index 480856e4b5c..67c41d09c4d 100755 --- a/bdb/dist/s_javah +++ b/bdb/dist/s_javah @@ -8,7 +8,7 @@ # Using Sun's JDK rather than some other installation ensures # that the header files will not be constantly changed. -. RELEASE +. ./RELEASE JAVAC=javac JAVAH=javah diff --git a/bdb/dist/s_readme b/bdb/dist/s_readme index 229a152b8a9..1da9f9681c0 100755 --- a/bdb/dist/s_readme +++ b/bdb/dist/s_readme @@ -8,7 +8,7 @@ d=.. t=/tmp/__t trap 'rm -f $t; exit 0' 0 1 2 3 13 15 -. RELEASE +. ./RELEASE cat << END_OF_README>$t $DB_VERSION_STRING diff --git a/bdb/dist/s_test b/bdb/dist/s_test index 266f27a743f..16f3b9712d0 100755 --- a/bdb/dist/s_test +++ b/bdb/dist/s_test @@ -9,7 +9,7 @@ msg2="# Automatically built by dist/s_test; may require local editing." t=/tmp/__t trap 'rm -f $t; exit 0' 0 1 2 3 13 15 -. RELEASE +. ./RELEASE (echo "$msg1" && \ echo "" && \ diff --git a/bdb/dist/s_vxworks b/bdb/dist/s_vxworks index b7cf785f78b..05c2599d02c 100644 --- a/bdb/dist/s_vxworks +++ b/bdb/dist/s_vxworks @@ -5,7 +5,7 @@ msgc="/* DO NOT EDIT: automatically built by dist/s_vxworks. */" -. RELEASE +. ./RELEASE s=/tmp/__db_a t=/tmp/__db_b diff --git a/bdb/dist/s_win32 b/bdb/dist/s_win32 index 78814ababa1..207978b82bb 100755 --- a/bdb/dist/s_win32 +++ b/bdb/dist/s_win32 @@ -6,7 +6,7 @@ msgc="/* DO NOT EDIT: automatically built by dist/s_win32. */" msgw="; DO NOT EDIT: automatically built by dist/s_win32." -. RELEASE +. ./RELEASE s=/tmp/__db_a$$ t=/tmp/__db_b$$ diff --git a/bdb/dist/s_win32_dsp b/bdb/dist/s_win32_dsp index 3b0bef831ba..af5551ec248 100644 --- a/bdb/dist/s_win32_dsp +++ b/bdb/dist/s_win32_dsp @@ -3,7 +3,7 @@ # # Build Windows/32 .dsp files. -. RELEASE +. ./RELEASE BUILDDIR=../build_win32 SRCFILES=srcfiles.in @@ -35,7 +35,9 @@ create_dsp() -e "s/@srcfile@/$srcfile/g" \ < $srctemplate >> $dspoutput.insert done - sed -e "/@SOURCE_FILES@/r$dspoutput.insert" \ + # We need exactly one space after the 'r' modifier + # See 5.9 in http://www.student.northpark.edu/pemente/sed/sedfaq.txt + sed -e "/@SOURCE_FILES@/r $dspoutput.insert" \ -e "/@SOURCE_FILES@/d" \ -e "s/@project_name@/$projname/g" \ -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" \ diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 795df3623b0..f8adf372585 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -1535,6 +1535,7 @@ sub do_before_start_master ($$) { $tname ne "rpl_crash_binlog_ib_3b") { # FIXME we really want separate dir for binlogs + # FIXME replace 'rm' in backticks with portable Perl function `rm -f $glob_mysql_test_dir/var/log/master-bin*`; # unlink("$glob_mysql_test_dir/var/log/master-bin*"); } @@ -1548,8 +1549,12 @@ sub do_before_start_master ($$) { # Run master initialization shell script if one exists if ( $init_script ) { - # We ignore the return code - mtr_run("/bin/sh", ["-c",$init_script], "", "", "", ""); + my $ret= mtr_run("/bin/sh", [$init_script], "", "", "", ""); + if ( $ret != 0 ) + { + # FIXME rewrite those scripts to return 0 if successful +# mtr_warning("$init_script exited with code $ret"); + } } # for gcov FIXME needed? If so we need more absolute paths # chdir($glob_basedir); @@ -1566,6 +1571,7 @@ sub do_before_start_slave ($$) { $tname ne "rpl_crash_binlog_ib_3b" ) { # FIXME we really want separate dir for binlogs + # FIXME replace 'rm' in backticks with portable Perl function `rm -fr $glob_mysql_test_dir/var/log/slave*-bin.*`; # unlink("$glob_mysql_test_dir/var/log/slave*-bin.*"); # FIXME idx??? # FIXME really master?! @@ -1576,8 +1582,12 @@ sub do_before_start_slave ($$) { # Run slave initialization shell script if one exists if ( $init_script ) { - # We ignore the return code - mtr_run("/bin/sh", ["-c",$init_script], "", "", "", ""); + my $ret= mtr_run("/bin/sh", [$init_script], "", "", "", ""); + if ( $ret != 0 ) + { + # FIXME rewrite those scripts to return 0 if successful +# mtr_warning("$init_script exited with code $ret"); + } } `rm -f $glob_mysql_test_dir/var/slave-data/log.*`; diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 70eff2db79b..01d635688d8 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -66,7 +66,7 @@ esac mkdir $BASE $BASE/bin $BASE/docs \ $BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \ $BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \ - $BASE/mysql-test/include $BASE/mysql-test/std_data + $BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib if [ $BASE_SYSTEM != "netware" ] ; then mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \ @@ -207,7 +207,7 @@ $CP -r sql/share/* $MYSQL_SHARE rm -f $MYSQL_SHARE/Makefile* $MYSQL_SHARE/*/*.OLD for i in mysql-test/mysql-test-run mysql-test/install_test_db \ - mysql-test/README \ + mysql-test/mysql-test-run.pl mysql-test/README \ netware/mysql_test_run.nlm netware/install_test_db.ncf do if [ -f $i ] @@ -216,6 +216,8 @@ do fi done +$CP mysql-test/lib/*.pl $BASE/mysql-test/lib +$CP mysql-test/lib/*.sql $BASE/mysql-test/lib $CP mysql-test/include/*.inc $BASE/mysql-test/include $CP mysql-test/std_data/*.dat mysql-test/std_data/*.*001 $BASE/mysql-test/std_data $CP mysql-test/std_data/des_key_file $BASE/mysql-test/std_data @@ -242,7 +244,7 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh $BASE/bin/mysql_install_ # Copy system dependent files # if [ $BASE_SYSTEM = "netware" ] ; then -echo "CREATE DATABASE mysql;" > $BASE/bin/init_db.sql + echo "CREATE DATABASE mysql;" > $BASE/bin/init_db.sql echo "CREATE DATABASE test;" >> $BASE/bin/init_db.sql sh ./scripts/mysql_create_system_tables.sh real "" "%" 0 >> $BASE/bin/init_db.sql sh ./scripts/mysql_create_system_tables.sh test "" "%" 0 > $BASE/bin/test_db.sql diff --git a/scripts/make_win_binary_distribution.sh b/scripts/make_win_binary_distribution.sh index 9b2cc2d7d22..c611454450c 100644 --- a/scripts/make_win_binary_distribution.sh +++ b/scripts/make_win_binary_distribution.sh @@ -110,6 +110,10 @@ print_debug "Copying sql-bench to $DIRNAME/bench" mkdir $DIRNAME/bench cp -fr sql-bench/* $DIRNAME/bench +print_debug "Copying mysql-test to $DIRNAME/mysql-test" +mkdir $DIRNAME/mysql-test +cp -fr mysql-test/* $DIRNAME/mysql-test + print_debug "Copying support-files to $DIRNAME" cp support-files/* $DIRNAME diff --git a/scripts/make_win_src_distribution.sh b/scripts/make_win_src_distribution.sh index 16a033b8de4..b52cc3799aa 100644 --- a/scripts/make_win_src_distribution.sh +++ b/scripts/make_win_src_distribution.sh @@ -255,7 +255,7 @@ make -C $SOURCE/ndb windoze # Input directories to be copied recursively # -for i in bdb innobase mysql-test ndb +for i in bdb innobase ndb do copy_dir_dirs $i done @@ -305,7 +305,7 @@ done # Raw dirs from source tree # -for i in scripts sql-bench SSL tests +for i in scripts sql-bench mysql-test SSL tests do print_debug "Copying directory '$i'" if [ -d $i ] From 1ee822cefc9d417fc920c90054bca197a6400a82 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 01:13:11 +0000 Subject: [PATCH 040/124] Fix test after merge --- mysql-test/r/information_schema.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 47b696db200..e1270168493 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -258,7 +258,7 @@ Function sql_mode Create Function sub1 show create function sub2; Function sql_mode Create Function -sub2 CREATE FUNCTION `test`.`sub2`(i int) RETURNS int +sub2 CREATE FUNCTION `test`.`sub2`(i int) RETURNS int(11) return i+1 drop function sub2; show create procedure sel2; From 4605a107ae8af498ef8d8fb7769b826cc7e93462 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 8 Mar 2005 17:40:43 -0800 Subject: [PATCH 041/124] Add all SQL_MODE settings to proc table. (Bug #8902) sql/mysql_priv.h: Add note about updated scripts with new SQL_MODE settings scripts/mysql_create_system_tables.sh: Add new SQL_MODE settings mysql-test/include/system_db_struct.inc: Add proc table to system_mysql_db tests. mysql-test/r/system_mysql_db.result: Include proc table output scripts/mysql_fix_privilege_tables.sql: Make sure full list of SQL_MODE settings is in proc table --- mysql-test/include/system_db_struct.inc | 1 + mysql-test/r/system_mysql_db.result | 21 +++++++++++ scripts/mysql_create_system_tables.sh | 12 ++++++- scripts/mysql_fix_privilege_tables.sql | 46 +++++++++++++++++++++++-- sql/mysql_priv.h | 4 +++ 5 files changed, 81 insertions(+), 3 deletions(-) diff --git a/mysql-test/include/system_db_struct.inc b/mysql-test/include/system_db_struct.inc index e24c8f3311d..c66590b2fd8 100644 --- a/mysql-test/include/system_db_struct.inc +++ b/mysql-test/include/system_db_struct.inc @@ -11,3 +11,4 @@ show create table func; show create table tables_priv; show create table columns_priv; show create table procs_priv; +show create table proc; diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result index 930acf68706..532f0eca014 100644 --- a/mysql-test/r/system_mysql_db.result +++ b/mysql-test/r/system_mysql_db.result @@ -154,5 +154,26 @@ procs_priv CREATE TABLE `procs_priv` ( PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`), KEY `Grantor` (`Grantor`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges' +show create table proc; +Table Create Table +proc CREATE TABLE `proc` ( + `db` char(64) character set latin1 collate latin1_bin NOT NULL default '', + `name` char(64) NOT NULL default '', + `type` enum('FUNCTION','PROCEDURE') NOT NULL default 'FUNCTION', + `specific_name` char(64) NOT NULL default '', + `language` enum('SQL') NOT NULL default 'SQL', + `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL', + `is_deterministic` enum('YES','NO') NOT NULL default 'NO', + `security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER', + `param_list` blob NOT NULL, + `returns` char(64) NOT NULL default '', + `body` blob NOT NULL, + `definer` char(77) character set latin1 collate latin1_bin NOT NULL default '', + `created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `modified` timestamp NOT NULL default '0000-00-00 00:00:00', + `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL default '', + `comment` char(64) character set latin1 collate latin1_bin NOT NULL default '', + PRIMARY KEY (`db`,`name`,`type`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Stored Procedures' show tables; Tables_in_test diff --git a/scripts/mysql_create_system_tables.sh b/scripts/mysql_create_system_tables.sh index ea4c85d7a2c..d87113d3656 100644 --- a/scripts/mysql_create_system_tables.sh +++ b/scripts/mysql_create_system_tables.sh @@ -702,7 +702,17 @@ then c_p="$c_p 'MYSQL323'," c_p="$c_p 'MYSQL40'," c_p="$c_p 'ANSI'," - c_p="$c_p 'NO_AUTO_VALUE_ON_ZERO'" + c_p="$c_p 'NO_AUTO_VALUE_ON_ZERO'," + c_p="$c_p 'NO_BACKSLASH_ESCAPES'," + c_p="$c_p 'STRICT_TRANS_TABLES'," + c_p="$c_p 'STRICT_ALL_TABLES'," + c_p="$c_p 'NO_ZERO_IN_DATE'," + c_p="$c_p 'NO_ZERO_DATE'," + c_p="$c_p 'INVALID_DATES'," + c_p="$c_p 'ERROR_FOR_DIVISION_BY_ZERO'," + c_p="$c_p 'TRADITIONAL'," + c_p="$c_p 'NO_AUTO_CREATE_USER'," + c_p="$c_p 'HIGH_NOT_PRECEDENCE'" c_p="$c_p ) DEFAULT 0 NOT NULL," c_p="$c_p comment char(64) binary DEFAULT '' NOT NULL," c_p="$c_p PRIMARY KEY (db,name,type)" diff --git a/scripts/mysql_fix_privilege_tables.sql b/scripts/mysql_fix_privilege_tables.sql index e8012ecc03a..2310e8d0bef 100644 --- a/scripts/mysql_fix_privilege_tables.sql +++ b/scripts/mysql_fix_privilege_tables.sql @@ -422,7 +422,17 @@ CREATE TABLE IF NOT EXISTS proc ( 'MYSQL323', 'MYSQL40', 'ANSI', - 'NO_AUTO_VALUE_ON_ZERO' + 'NO_AUTO_VALUE_ON_ZERO', + 'NO_BACKSLASH_ESCAPES', + 'STRICT_TRANS_TABLES', + 'STRICT_ALL_TABLES', + 'NO_ZERO_IN_DATE', + 'NO_ZERO_DATE', + 'INVALID_DATES', + 'ERROR_FOR_DIVISION_BY_ZERO', + 'TRADITIONAL', + 'NO_AUTO_CREATE_USER', + 'HIGH_NOT_PRECEDENCE' ) DEFAULT 0 NOT NULL, comment char(64) binary DEFAULT '' NOT NULL, PRIMARY KEY (db,name,type) @@ -436,4 +446,36 @@ ALTER TABLE proc MODIFY name char(64) DEFAULT '' NOT NULL, 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' - ) DEFAULT 'CONTAINS_SQL' NOT NULL; + ) DEFAULT 'CONTAINS_SQL' NOT NULL, + MODIFY sql_mode + set('REAL_AS_FLOAT', + 'PIPES_AS_CONCAT', + 'ANSI_QUOTES', + 'IGNORE_SPACE', + 'NOT_USED', + 'ONLY_FULL_GROUP_BY', + 'NO_UNSIGNED_SUBTRACTION', + 'NO_DIR_IN_CREATE', + 'POSTGRESQL', + 'ORACLE', + 'MSSQL', + 'DB2', + 'MAXDB', + 'NO_KEY_OPTIONS', + 'NO_TABLE_OPTIONS', + 'NO_FIELD_OPTIONS', + 'MYSQL323', + 'MYSQL40', + 'ANSI', + 'NO_AUTO_VALUE_ON_ZERO', + 'NO_BACKSLASH_ESCAPES', + 'STRICT_TRANS_TABLES', + 'STRICT_ALL_TABLES', + 'NO_ZERO_IN_DATE', + 'NO_ZERO_DATE', + 'INVALID_DATES', + 'ERROR_FOR_DIVISION_BY_ZERO', + 'TRADITIONAL', + 'NO_AUTO_CREATE_USER', + 'HIGH_NOT_PRECEDENCE' + ) DEFAULT 0 NOT NULL; diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index b978ffe175b..5e1f6f0dd38 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -299,6 +299,10 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset; use strictly more than 64 bits by adding one more define above, you should contact the replication team because the replication code should then be updated (to store more bytes on disk). + + NOTE: When adding new SQL_MODE types, make sure to also add them to + ../scripts/mysql_create_system_tables.sh and + ../scripts/mysql_fix_privilege_tables.sql */ #define RAID_BLOCK_SIZE 1024 From ef0e1c05db481808305208678b9e4c7c1843ec53 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 02:53:00 +0100 Subject: [PATCH 042/124] configure.in: bug#5102, bug#6862 define HAVE_VIS_H to libedit only if header and strvis() exists configure.in: bug#5102, bug#6862 define HAVE_VIS_H to libedit only if header and strvis() exists --- configure.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in index d6acef071a6..305e9d44cec 100644 --- a/configure.in +++ b/configure.in @@ -1840,7 +1840,13 @@ AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_CHECK_FUNCS(re_comp regcomp strdup) -AC_CHECK_HEADERS(vis.h) +dnl Sun compilers have their own vis.h that is about something +dnl totally different. So, not to change the libedit source, we +dnl do some additional checks before we define HAVE_VIS_H. +AC_CHECK_HEADER(vis.h, + [AC_CHECK_FUNC(strvis, + [AC_DEFINE([HAVE_VIS_H], [1],[Found vis.h and the strvis() function])])]) + AC_CHECK_FUNCS(strlcat strlcpy) AC_CHECK_FUNCS(issetugid) AC_CHECK_FUNCS(fgetln) From 6f4a99a10f1c0a55f952bc9e42b258275e9a2f6a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 07:49:03 +0100 Subject: [PATCH 043/124] bug#9052 - ndb - Use correct length during unique index build (recommit as 4.1->5.0 merge is not possible) ndb/src/kernel/blocks/trix/Trix.cpp: Use correct length during unique index build --- ndb/src/kernel/blocks/trix/Trix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndb/src/kernel/blocks/trix/Trix.cpp b/ndb/src/kernel/blocks/trix/Trix.cpp index 75bc19b6a20..cd11cb4d575 100644 --- a/ndb/src/kernel/blocks/trix/Trix.cpp +++ b/ndb/src/kernel/blocks/trix/Trix.cpp @@ -712,7 +712,7 @@ void Trix::setupSubscription(Signal* signal, SubscriptionRecPtr subRecPtr) subCreateReq->subscriptionType = SubCreateReq::SingleTableScan; sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ, - signal, SubCreateReq::SignalLength, JBB, orderPtr, 1); + signal, SubCreateReq::SignalLength+1, JBB, orderPtr, 1); } void Trix::setupTableScan(Signal* signal, SubscriptionRecPtr subRecPtr) From 44d66d26dc6dbf1e7c90dc3c4cffe7b5d4baba41 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 00:15:51 -0800 Subject: [PATCH 044/124] func_str.result, func_str.test: Added a test case for bug #8669. item_strfunc.cc: Fixed bug #8669. Function AES_DECRYPT can return NULL value. sql/item_strfunc.cc: Fixed bug #8669. Function AES_DECRYPT can return NULL value. mysql-test/t/func_str.test: Added a test case for bug #8669. mysql-test/r/func_str.result: Added a test case for bug #8669. --- mysql-test/r/func_str.result | 15 +++++++++++++++ mysql-test/t/func_str.test | 17 +++++++++++++++++ sql/item_strfunc.cc | 1 + 3 files changed, 33 insertions(+) diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result index 9392f152bb4..6fe71f97edd 100644 --- a/mysql-test/r/func_str.result +++ b/mysql-test/r/func_str.result @@ -304,3 +304,18 @@ QUOTE('A') 'A' 'A' DROP TABLE t1; +CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL); +CREATE TABLE t2 (id int NOT NULL UNIQUE); +INSERT INTO t2 VALUES (1),(2); +INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar')); +INSERT INTO t1 VALUES (2, 'not valid'); +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id; +id aes_decrypt(str, 'bar') +1 foo +2 NULL +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id +ORDER BY t1.id; +id aes_decrypt(str, 'bar') +1 foo +2 NULL +DROP TABLE t1, t2; diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test index 6c2abd27551..9dac1d823d9 100644 --- a/mysql-test/t/func_str.test +++ b/mysql-test/t/func_str.test @@ -198,3 +198,20 @@ select quote(trim(concat(' ', 'a'))); CREATE TABLE t1 SELECT 1 UNION SELECT 2 UNION SELECT 3; SELECT QUOTE('A') FROM t1; DROP TABLE t1; + +# +# Test case for bug #8669: null aes_decrypt result in order by query +# + +CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL); +CREATE TABLE t2 (id int NOT NULL UNIQUE); +INSERT INTO t2 VALUES (1),(2); +INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar')); +INSERT INTO t1 VALUES (2, 'not valid'); + +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id; +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id + ORDER BY t1.id; + +DROP TABLE t1, t2; + diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index ec88f58aa93..930014de771 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -208,6 +208,7 @@ String *Item_func_aes_decrypt::val_str(String *str) void Item_func_aes_decrypt::fix_length_and_dec() { max_length=args[0]->max_length; + maybe_null= 1; } From 661390b1b4691d26aacfd6c754eb225691a58f87 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 11:49:48 +0100 Subject: [PATCH 045/124] fixed mem leak in subscriction handling in Suma debug printouts ndb documentation update ndb/include/ndbapi/Ndb.hpp: ndb documentation update ndb/src/kernel/blocks/suma/Suma.cpp: fixed mem leak in subscriction handling in Suma debug printouts ndb/src/kernel/blocks/suma/Suma.hpp: fixed mem leak in subscriction handling in Suma --- ndb/include/ndbapi/Ndb.hpp | 6 +-- ndb/src/kernel/blocks/suma/Suma.cpp | 82 ++++++++++++++++------------- ndb/src/kernel/blocks/suma/Suma.hpp | 2 +- 3 files changed, 50 insertions(+), 40 deletions(-) diff --git a/ndb/include/ndbapi/Ndb.hpp b/ndb/include/ndbapi/Ndb.hpp index 85810587e3b..41085e6e06a 100644 --- a/ndb/include/ndbapi/Ndb.hpp +++ b/ndb/include/ndbapi/Ndb.hpp @@ -1218,12 +1218,12 @@ public: /** * Drop a subscription to an event * - * @param eventName - * unique identifier of the event + * @param eventOp + * Event operation * * @return 0 on success */ - int dropEventOperation(NdbEventOperation* eventName); + int dropEventOperation(NdbEventOperation* eventOp); /** * Wait for an event to occur. Will return as soon as an event diff --git a/ndb/src/kernel/blocks/suma/Suma.cpp b/ndb/src/kernel/blocks/suma/Suma.cpp index d982c2b96f8..ed54505b729 100644 --- a/ndb/src/kernel/blocks/suma/Suma.cpp +++ b/ndb/src/kernel/blocks/suma/Suma.cpp @@ -50,6 +50,17 @@ //#define EVENT_DEBUG //#define EVENT_PH3_DEBUG //#define EVENT_DEBUG2 +#if 0 +#undef DBUG_ENTER +#undef DBUG_PRINT +#undef DBUG_RETURN +#undef DBUG_VOID_RETURN + +#define DBUG_ENTER(a) {ndbout_c("%s:%d >%s", __FILE__, __LINE__, a);} +#define DBUG_PRINT(a,b) {ndbout << __FILE__ << ":" << __LINE__ << " " << a << ": "; ndbout_c b ;} +#define DBUG_RETURN(a) { ndbout_c("%s:%d <", __FILE__, __LINE__); return(a); } +#define DBUG_VOID_RETURN { ndbout_c("%s:%d <", __FILE__, __LINE__); return; } +#endif /** * @todo: @@ -112,15 +123,12 @@ Suma::getNodeGroupMembers(Signal* signal) { void Suma::execSTTOR(Signal* signal) { jamEntry(); - + + DBUG_ENTER("Suma::execSTTOR"); const Uint32 startphase = signal->theData[1]; const Uint32 typeOfStart = signal->theData[7]; -#ifdef NODEFAIL_DEBUG - ndbout_c ("SUMA::execSTTOR startphase = %u, typeOfStart = %u", - startphase, typeOfStart); - -#endif + DBUG_PRINT("info",("startphase = %u, typeOfStart = %u", startphase, typeOfStart)); if(startphase == 1){ jam(); @@ -155,7 +163,7 @@ Suma::execSTTOR(Signal* signal) { g_subPtrI = subPtr.i; // sendSTTORRY(signal); #endif - return; + DBUG_VOID_RETURN; } if(startphase == 5) { @@ -178,9 +186,7 @@ Suma::execSTTOR(Signal* signal) { for( int i = 0; i < NO_OF_BUCKETS; i++) { if (getResponsibleSumaNodeId(i) == refToNode(reference())) { // I'm running this bucket -#ifdef EVENT_DEBUG - ndbout_c("bucket %u set to true", i); -#endif + DBUG_PRINT("info",("bucket %u set to true", i)); c_buckets[i].active = true; } } @@ -190,32 +196,31 @@ Suma::execSTTOR(Signal* signal) { c_masterNodeId == getOwnNodeId()) { jam(); createSequence(signal); - return; + DBUG_VOID_RETURN; }//if }//if sendSTTORRY(signal); - return; + DBUG_VOID_RETURN; } void Suma::createSequence(Signal* signal) { jam(); + DBUG_ENTER("Suma::createSequence"); UtilSequenceReq * req = (UtilSequenceReq*)signal->getDataPtrSend(); req->senderData = RNIL; req->sequenceId = SUMA_SEQUENCE; req->requestType = UtilSequenceReq::Create; -#ifdef DEBUG_SUMA_SEQUENCE - ndbout_c("SUMA: Create sequence"); -#endif sendSignal(DBUTIL_REF, GSN_UTIL_SEQUENCE_REQ, signal, UtilSequenceReq::SignalLength, JBB); // execUTIL_SEQUENCE_CONF will call createSequenceReply() + DBUG_VOID_RETURN; } void @@ -379,7 +384,7 @@ SumaParticipant::removeSubscribersOnNode(Signal *signal, Uint32 nodeId) } void -SumaParticipant::sendSubStopReq(Signal *signal){ +SumaParticipant::sendSubStopReq(Signal *signal, bool unlock){ DBUG_ENTER("SumaParticipant::sendSubStopReq"); static bool remove_lock = false; jam(); @@ -399,7 +404,7 @@ SumaParticipant::sendSubStopReq(Signal *signal){ DBUG_VOID_RETURN; } - if(remove_lock) { + if(remove_lock && !unlock) { jam(); DBUG_VOID_RETURN; } @@ -424,6 +429,7 @@ SumaParticipant::sendSubStopReq(Signal *signal){ void SumaParticipant::execSUB_STOP_CONF(Signal* signal){ jamEntry(); + DBUG_ENTER("SumaParticipant::execSUB_STOP_CONF"); SubStopConf * const conf = (SubStopConf*)signal->getDataPtr(); @@ -449,16 +455,17 @@ SumaParticipant::execSUB_STOP_CONF(Signal* signal){ } } - sendSubStopReq(signal); + sendSubStopReq(signal,true); + DBUG_VOID_RETURN; } void SumaParticipant::execSUB_STOP_REF(Signal* signal){ jamEntry(); - SubStopRef * const ref = (SubStopRef*)signal->getDataPtr(); - DBUG_ENTER("SumaParticipant::execSUB_STOP_REF"); + SubStopRef * const ref = (SubStopRef*)signal->getDataPtr(); + Uint32 subscriptionId = ref->subscriptionId; Uint32 subscriptionKey = ref->subscriptionKey; Uint32 part = ref->part; @@ -845,16 +852,14 @@ Suma::execUTIL_SEQUENCE_CONF(Signal* signal) { jamEntry(); + DBUG_ENTER("Suma::execUTIL_SEQUENCE_CONF"); CRASH_INSERTION(13002); UtilSequenceConf * conf = (UtilSequenceConf*)signal->getDataPtr(); -#ifdef DEBUG_SUMA_SEQUENCE - ndbout_c("SUMA: Create sequence conf"); -#endif if(conf->requestType == UtilSequenceReq::Create) { jam(); createSequenceReply(signal, conf, NULL); - return; + DBUG_VOID_RETURN; } Uint64 subId; @@ -874,18 +879,21 @@ Suma::execUTIL_SEQUENCE_CONF(Signal* signal) CreateSubscriptionIdConf::SignalLength, JBB); c_subscriberPool.release(subbPtr); + + DBUG_VOID_RETURN; } void Suma::execUTIL_SEQUENCE_REF(Signal* signal) { jamEntry(); + DBUG_ENTER("Suma::execUTIL_SEQUENCE_REF"); UtilSequenceRef * ref = (UtilSequenceRef*)signal->getDataPtr(); if(ref->requestType == UtilSequenceReq::Create) { jam(); createSequenceReply(signal, NULL, ref); - return; + DBUG_VOID_RETURN; } Uint32 subData = ref->senderData; @@ -894,7 +902,7 @@ Suma::execUTIL_SEQUENCE_REF(Signal* signal) c_subscriberPool.getPtr(subbPtr,subData); sendSubIdRef(signal, GrepError::SEQUENCE_ERROR); c_subscriberPool.release(subbPtr); - return; + DBUG_VOID_RETURN; }//execUTIL_SEQUENCE_REF() @@ -2091,9 +2099,7 @@ SumaParticipant::execSCAN_HBREP(Signal* signal){ void SumaParticipant::execSUB_START_REQ(Signal* signal){ jamEntry(); -#ifdef NODEFAIL_DEBUG - ndbout_c("Suma::execSUB_START_REQ"); -#endif + DBUG_ENTER("SumaParticipant::execSUB_START_REQ"); CRASH_INSERTION(13013); @@ -2103,7 +2109,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ if (RtoI(signal->getSendersBlockRef(), false) == RNIL) { jam(); sendSubStartRef(signal, /** Error Code */ 0, true); - return; + DBUG_VOID_RETURN; } // only allow other Suma's in the nodegroup to come through for restart purposes } @@ -2124,7 +2130,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ if(!c_subscriptions.find(subPtr, key)){ jam(); sendSubStartRef(signal, /** Error Code */ 0); - return; + DBUG_VOID_RETURN; } Ptr syncPtr; @@ -2135,7 +2141,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ ndbout_c("Locked"); #endif sendSubStartRef(signal, /** Error Code */ 0, true); - return; + DBUG_VOID_RETURN; } syncPtr.p->m_locked = true; @@ -2144,7 +2150,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ jam(); syncPtr.p->m_locked = false; sendSubStartRef(signal, /** Error Code */ 0); - return; + DBUG_VOID_RETURN; } Uint32 type = subPtr.p->m_subscriptionType; @@ -2211,6 +2217,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ break; } ndbrequire(ok); + DBUG_VOID_RETURN; } void @@ -2963,6 +2970,7 @@ SumaParticipant::execFIRE_TRIG_ORD(Signal* signal){ } } #endif + DBUG_PRINT("info",("GSN_SUB_TABLE_DATA to node %d", refToNode(ref))); sendSignal(ref, GSN_SUB_TABLE_DATA, signal, SubTableData::SignalLength, JBB, ptr, nptr); data->logType = tmp; @@ -3263,6 +3271,7 @@ bool SumaParticipant::FailoverBuffer::nodeFailRep() void SumaParticipant::execSUB_STOP_REQ(Signal* signal){ jamEntry(); + DBUG_ENTER("SumaParticipant::execSUB_STOP_REQ"); CRASH_INSERTION(13019); @@ -3292,7 +3301,7 @@ SumaParticipant::execSUB_STOP_REQ(Signal* signal){ SubStopConf::SignalLength, JBB); removeSubscribersOnNode(signal, refToNode(subscriberRef)); - return; + DBUG_VOID_RETURN; } if(!c_subscriptions.find(subPtr, key)){ @@ -3333,7 +3342,7 @@ SumaParticipant::execSUB_STOP_REQ(Signal* signal){ if (!found) { jam(); sendSubStopRef(signal, GrepError::SUBSCRIBER_NOT_FOUND); - return; + DBUG_VOID_RETURN; } } @@ -3346,11 +3355,12 @@ SumaParticipant::execSUB_STOP_REQ(Signal* signal){ if (syncPtr.p->m_locked) { jam(); sendSubStopRef(signal, /** Error Code */ 0, true); - return; + DBUG_VOID_RETURN; } syncPtr.p->m_locked = true; syncPtr.p->startDropTrigger(signal); + DBUG_VOID_RETURN; } void diff --git a/ndb/src/kernel/blocks/suma/Suma.hpp b/ndb/src/kernel/blocks/suma/Suma.hpp index 08987fa9420..65869f44423 100644 --- a/ndb/src/kernel/blocks/suma/Suma.hpp +++ b/ndb/src/kernel/blocks/suma/Suma.hpp @@ -376,7 +376,7 @@ public: void sendSubStartComplete(Signal*, SubscriberPtr, Uint32, SubscriptionData::Part); void sendSubStopComplete(Signal*, SubscriberPtr); - void sendSubStopReq(Signal* signal); + void sendSubStopReq(Signal* signal, bool unlock= false); void completeSubRemoveReq(Signal* signal, SubscriptionPtr subPtr); From a0f63f1b81bbe1b6312abab035cbf622970023cb Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 12:29:51 +0100 Subject: [PATCH 046/124] don't close binlog in the destructor - use explictit MYSQL_LOG::cleanup for this mysql-test/r/fulltext.result: new test, duplicate test removed mysql-test/t/fulltext.test: new test, duplicate test removed sql/slave.cc: close relay log explicitly --- mysql-test/r/fulltext.result | 4 ++-- mysql-test/t/fulltext.test | 2 +- sql/log.cc | 16 ++++++---------- sql/slave.cc | 1 + sql/sql_class.h | 6 +++++- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index d9ef306d9f6..fa1e6a75e52 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -130,6 +130,8 @@ a b select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE); a b MySQL has now support for full-text search +select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE); +a b select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); a b MySQL has now support for full-text search @@ -151,8 +153,6 @@ a b select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); a b Full-text indexes are called collections -select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); -a b select * from t1 where MATCH a,b AGAINST('"space model' IN BOOLEAN MODE); a b Full-text search in MySQL implements vector space model diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 4809f6f0357..2acf69dad76 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -59,6 +59,7 @@ select * from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE); +select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE); @@ -68,7 +69,6 @@ select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); -select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); # bug#2708, bug#3870 crash diff --git a/sql/log.cc b/sql/log.cc index 5d77197a9b9..ae06e37611d 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -360,12 +360,6 @@ MYSQL_LOG::MYSQL_LOG() bzero((char*) &index_file, sizeof(index_file)); } - -MYSQL_LOG::~MYSQL_LOG() -{ - cleanup(); -} - /* this is called only once */ void MYSQL_LOG::cleanup() @@ -1276,8 +1270,7 @@ bool MYSQL_LOG::is_active(const char *log_file_name_arg) SYNOPSIS new_file() - need_lock Set to 1 (default) if caller has not locked - LOCK_log and LOCK_index + need_lock Set to 1 if caller has not locked LOCK_log NOTE The new file name is stored last in the index file @@ -1764,12 +1757,13 @@ err: void MYSQL_LOG::rotate_and_purge(uint flags) { + if (!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED)) + pthread_mutex_lock(&LOCK_log); if ((flags & RP_FORCE_ROTATE) || (my_b_tell(&log_file) >= (my_off_t) max_size)) { - new_file(!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED)); + new_file(0); #ifdef HAVE_REPLICATION - // QQ why do we need #ifdef here ??? if (expire_logs_days) { long purge_time= time(0) - expire_logs_days*24*60*60; @@ -1778,6 +1772,8 @@ void MYSQL_LOG::rotate_and_purge(uint flags) } #endif } + if (!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED)) + pthread_mutex_unlock(&LOCK_log); } uint MYSQL_LOG::next_file_id() diff --git a/sql/slave.cc b/sql/slave.cc index 9849feaf6fa..90753572e50 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -2558,6 +2558,7 @@ st_relay_log_info::~st_relay_log_info() pthread_cond_destroy(&start_cond); pthread_cond_destroy(&stop_cond); pthread_cond_destroy(&log_space_cond); + relay_log.cleanup(); } /* diff --git a/sql/sql_class.h b/sql/sql_class.h index ff30faf1150..67173e972ac 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -236,7 +236,11 @@ class MYSQL_LOG: public TC_LOG public: MYSQL_LOG(); - ~MYSQL_LOG(); + /* + note that there's no destructor ~MYSQL_LOG() ! + The reason is that we don't want it to be automatically called + on exit() - but only during the correct shutdown process + */ int open(const char *opt_name); void close(); From 5d7c76aa0ac11be334edf291e752ac7c85fdcb8e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 12:59:20 +0100 Subject: [PATCH 047/124] myisam/myisam_ftdump.c recalculate stats/gws for the last word in the index too remove unused code myisam/myisam_ftdump.c: recalculate stats/gws for the last word in the index too remove unused code --- myisam/myisam_ftdump.c | 190 +++++++++++++++++++---------------------- 1 file changed, 90 insertions(+), 100 deletions(-) diff --git a/myisam/myisam_ftdump.c b/myisam/myisam_ftdump.c index 54b2cc77965..28aac0a8ecf 100644 --- a/myisam/myisam_ftdump.c +++ b/myisam/myisam_ftdump.c @@ -44,10 +44,6 @@ static struct my_option my_long_options[] = 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"length", 'l', "Report length distribution.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef DISABLED - {"execute", 'e', "Execute given query.", (gptr*) &query, (gptr*) &query, 0, - GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, -#endif {"help", 'h', "Display help and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"help", '?', "Synonym for -h.", @@ -108,119 +104,116 @@ int main(int argc,char *argv[]) mi_lock_database(info, F_EXTRA_LCK); - if (query) + info->lastpos= HA_OFFSET_ERROR; + info->update|= HA_STATE_PREV_FOUND; + + while (!(error=mi_rnext(info,NULL,inx))) { -#if 0 - FT_DOCLIST *result; - int i; + keylen=*(info->lastkey); - ft_init_stopwords(ft_precompiled_stopwords); - - result=ft_nlq_init_search(info,inx,query,strlen(query),1); - if(!result) - goto err; - - if (verbose) - printf("%d rows matched\n",result->ndocs); - - for(i=0 ; indocs ; i++) - printf("%9lx %20.7f\n",(ulong)result->doc[i].dpos,result->doc[i].weight); - - ft_nlq_close_search(result); -#else - printf("-e option is disabled\n"); -#endif - } - else - { - info->lastpos= HA_OFFSET_ERROR; - info->update|= HA_STATE_PREV_FOUND; - - while (!(error=mi_rnext(info,NULL,inx))) - { - keylen=*(info->lastkey); - - subkeys=ft_sintXkorr(info->lastkey+keylen+1); - if (subkeys >= 0) - weight=*(float*)&subkeys; + subkeys=ft_sintXkorr(info->lastkey+keylen+1); + if (subkeys >= 0) + weight=*(float*)&subkeys; #ifdef HAVE_SNPRINTF - snprintf(buf,MAX_LEN,"%.*s",(int) keylen,info->lastkey+1); + snprintf(buf,MAX_LEN,"%.*s",(int) keylen,info->lastkey+1); #else - sprintf(buf,"%.*s",(int) keylen,info->lastkey+1); + sprintf(buf,"%.*s",(int) keylen,info->lastkey+1); #endif - my_casedn_str(default_charset_info,buf); - total++; - lengths[keylen]++; + my_casedn_str(default_charset_info,buf); + total++; + lengths[keylen]++; - if (count || stats) + if (count || stats) + { + doc_cnt++; + if (strcmp(buf, buf2)) { - doc_cnt++; - if (strcmp(buf, buf2)) + if (*buf2) { - if (*buf2) + uniq++; + avg_gws+=gws=GWS_IN_USE; + if (count) + printf("%9u %20.7f %s\n",doc_cnt,gws,buf2); + if (maxlen=0) - printf("%9lx %20.7f %s\n", (long) info->lastpos,weight,buf); - else - printf("%9lx => %17d %s\n",(long) info->lastpos,-subkeys,buf); - } - if (verbose && (total%HOW_OFTEN_TO_WRITE)==0) - printf("%10ld\r",total); } - mi_lock_database(info, F_UNLCK); + if (dump) + { + if (subkeys>=0) + printf("%9lx %20.7f %s\n", (long) info->lastpos,weight,buf); + else + printf("%9lx => %17d %s\n",(long) info->lastpos,-subkeys,buf); + } + if (verbose && (total%HOW_OFTEN_TO_WRITE)==0) + printf("%10ld\r",total); + } + mi_lock_database(info, F_UNLCK); - if (stats) + if (count || stats) + { + doc_cnt++; + if (*buf2) { - count=0; - for (inx=0;inx<256;inx++) + uniq++; + avg_gws+=gws=GWS_IN_USE; + if (count) + printf("%9u %20.7f %s\n",doc_cnt,gws,buf2); + if (maxlen= total/2) - break; + maxlen=keylen2; + strmov(buf_maxlen, buf2); + } + if (max_doc_cnt < doc_cnt) + { + max_doc_cnt=doc_cnt; + strmov(buf_min_gws, buf2); + min_gws=gws; } - printf("Total rows: %lu\nTotal words: %lu\n" - "Unique words: %lu\nLongest word: %lu chars (%s)\n" - "Median length: %u\n" - "Average global weight: %f\n" - "Most common word: %lu times, weight: %f (%s)\n", - (long) info->state->records, total, uniq, maxlen, buf_maxlen, - inx, avg_gws/uniq, max_doc_cnt, min_gws, buf_min_gws); } - if (lstats) + } + + if (stats) + { + count=0; + for (inx=0;inx<256;inx++) { - count=0; - for (inx=0; inx<256; inx++) - { - count+=lengths[inx]; - if (count && lengths[inx]) - printf("%3u: %10lu %5.2f%% %20lu %4.1f%%\n", inx, - (ulong) lengths[inx],100.0*lengths[inx]/total,(ulong) count, - 100.0*count/total); - } + count+=lengths[inx]; + if ((ulong) count >= total/2) + break; + } + printf("Total rows: %lu\nTotal words: %lu\n" + "Unique words: %lu\nLongest word: %lu chars (%s)\n" + "Median length: %u\n" + "Average global weight: %f\n" + "Most common word: %lu times, weight: %f (%s)\n", + (long) info->state->records, total, uniq, maxlen, buf_maxlen, + inx, avg_gws/uniq, max_doc_cnt, min_gws, buf_min_gws); + } + if (lstats) + { + count=0; + for (inx=0; inx<256; inx++) + { + count+=lengths[inx]; + if (count && lengths[inx]) + printf("%3u: %10lu %5.2f%% %20lu %4.1f%%\n", inx, + (ulong) lengths[inx],100.0*lengths[inx]/total,(ulong) count, + 100.0*count/total); } } @@ -254,9 +247,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), lstats=1; complain(query!=0); break; - case 'e': - complain(dump || count || stats); - break; case '?': case 'h': usage(); From 4387d327b1c824e621b12e996f395d394b2d4ec8 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 13:41:57 +0100 Subject: [PATCH 048/124] sql/mysqld.cc preserve backward compatibility sql/mysqld.cc: preserve backward compatibility --- sql/mysqld.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index f6ba950701a..43ccfe2b366 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3085,7 +3085,10 @@ we force server id to 2, but this MySQL server will not act as a slave."); printf(ER(ER_READY),my_progname,server_version, ((unix_sock == INVALID_SOCKET) ? (char*) "" : mysqld_unix_port), - mysqld_port, MYSQL_COMPILATION_COMMENT); + mysqld_port, ""); + if (MYSQL_COMPILATION_COMMENT[0] != '\0') + fputs(" " MYSQL_COMPILATION_COMMENT, stdout); + putchar('\n'); fflush(stdout); From 380b5819a20d93f0e0430bc9225e55a54cb52dcf Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 14:29:22 +0100 Subject: [PATCH 049/124] Fix for Bug #8897 Test ndb_autodiscover: Spurious warning in --ps-protocol on NDB --- sql/mysql_priv.h | 2 +- sql/sql_base.cc | 3 ++- sql/sql_error.cc | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 7e58f7bf728..de1cbf5d9cd 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -817,7 +817,7 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint const char *msg); void push_warning_printf(THD *thd, MYSQL_ERROR::enum_warning_level level, uint code, const char *format, ...); -void mysql_reset_errors(THD *thd); +void mysql_reset_errors(THD *thd, bool force= false); bool mysqld_show_warnings(THD *thd, ulong levels_to_show); /* sql_handler.cc */ diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 4fd943c08f4..09640eb3f57 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -1606,7 +1606,8 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db, if (ha_create_table_from_engine(thd, db, name, TRUE) != 0) goto err; - thd->clear_error(); // Clear error message + mysql_reset_errors(thd, true); // Clear warnings + thd->clear_error(); // Clear error message continue; } diff --git a/sql/sql_error.cc b/sql/sql_error.cc index 4d254b95514..4420f2d16ad 100644 --- a/sql/sql_error.cc +++ b/sql/sql_error.cc @@ -64,6 +64,7 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg) SYNOPSIS mysql_reset_errors() thd Thread handle + force Reset warnings even if it has been done before IMPLEMENTATION Don't reset warnings if this has already been called for this query. @@ -71,14 +72,15 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg) in which case push_warnings() has already called this function. */ -void mysql_reset_errors(THD *thd) +void mysql_reset_errors(THD *thd, bool force) { DBUG_ENTER("mysql_reset_errors"); - if (thd->query_id != thd->warn_id) + if (thd->query_id != thd->warn_id || force) { thd->warn_id= thd->query_id; free_root(&thd->warn_root,MYF(0)); bzero((char*) thd->warn_count, sizeof(thd->warn_count)); + if (force) thd->total_warn_count= 0; thd->warn_list.empty(); thd->row_count= 1; // by default point to row 1 } From 914afabd39ebc9884ce0e6f65c36253067b3fe15 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 15:00:40 +0100 Subject: [PATCH 050/124] mysqldumpslow.sh: bug#4914 added --help and usage information scripts/mysqldumpslow.sh: bug#4914 added --help and usage information --- scripts/mysqldumpslow.sh | 43 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh index e8f73c25b55..ccb006f692d 100644 --- a/scripts/mysqldumpslow.sh +++ b/scripts/mysqldumpslow.sh @@ -17,8 +17,9 @@ my %opt = ( ); GetOptions(\%opt, - 'v+', # verbose - 'd+', # debug + 'verbose|v+',# verbose + 'help+', # write usage info + 'debug|d+', # debug 's=s', # what to sort by (t, at, l, al, r, ar etc) 'r!', # reverse the sort order (largest last instead of first) 't=i', # just show the top n queries @@ -28,8 +29,9 @@ GetOptions(\%opt, 'h=s', # hostname of db server for *-slow.log filename (can be wildcard) 'i=s', # name of server instance (if using mysql.server startup script) 'l!', # don't subtract lock time from total time -) or die "Bad option"; +) or usage("bad option"); +$opt{'help'} and usage(); unless (@ARGV) { my $defaults = `my_print_defaults mysqld`; @@ -141,3 +143,38 @@ foreach (@sorted) { printf "Count: %d Time=%.2fs (%ds) Lock=%.2fs (%ds) Rows=%.1f (%d), $user\@$host\n%s\n\n", $c, $at,$t, $al,$l, $ar,$r, $_; } + +sub usage { + my $str= shift; + my $text= < Date: Wed, 9 Mar 2005 18:33:01 +0400 Subject: [PATCH 051/124] a fix (bug #7205: "archive" test fails on UnixWare when using prepared statements) sql/handler.cc: s/MY_WME/0/ - don't issue an error when a file does not exists on deletion, a table does not need to have all bas_ext[] files; two-line function removed and expanded inline. --- sql/handler.cc | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index 9077622dd8c..7cb0ba3bee2 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -55,8 +55,6 @@ /* static functions defined in this file */ -static int NEAR_F delete_file(const char *name,const char *ext,int extflag); - static SHOW_COMP_OPTION have_yes= SHOW_OPTION_YES; /* list of all available storage engines (of their handlertons) */ @@ -1585,17 +1583,19 @@ uint handler::get_dup_key(int error) RETURN 0 If we successfully deleted at least one file from base_ext and didn't get any other errors than ENOENT - # Error from delete_file() + # Error */ int handler::delete_table(const char *name) { int error= 0; int enoent_or_zero= ENOENT; // Error if no file was deleted + char buff[FN_REFLEN]; for (const char **ext=bas_ext(); *ext ; ext++) { - if (delete_file(name,*ext,2)) + fn_format(buff, name, "", *ext, 2 | 4); + if (my_delete_with_symlink(buff, MYF(0))) { if ((error= my_errno) != ENOENT) break; @@ -1766,13 +1766,6 @@ err_end: DBUG_RETURN(error); } -static int NEAR_F delete_file(const char *name,const char *ext,int extflag) -{ - char buff[FN_REFLEN]; - VOID(fn_format(buff,name,"",ext,extflag | 4)); - return(my_delete_with_symlink(buff,MYF(MY_WME))); -} - void st_ha_check_opt::init() { flags= sql_flags= 0; From 146df30f791246b93225b68ffaf6e93af4148f39 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 16:51:03 +0200 Subject: [PATCH 052/124] Fix for BUG#7425. The reported problems were due to two completely unrelated omissions. 1) The file sort procedure didn't correctly create the sort key in make_sortkey when the sortkey was an unsigned integer. 2) The name resolution procedure for column references inside a HAVING clause did not propagate the unsigned_flag of the resolved references. This patch corrects both problems. mysql-test/r/select.result: Added test result for BUG#7425. mysql-test/t/select.test: Added test for BUG#7425. sql/filesort.cc: Take into account whether 'item' represents a signed or an unsigned integer. sql/item.cc: Once an Item_ref is resolved, propagate the unsigned_flag to the resolved item. --- mysql-test/r/select.result | 23 +++++++++++++++++++++++ mysql-test/t/select.test | 11 +++++++++++ sql/filesort.cc | 10 ++++++++-- sql/item.cc | 1 + 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result index 1a3b2ab22e6..9252b3dc689 100644 --- a/mysql-test/r/select.result +++ b/mysql-test/r/select.result @@ -2422,3 +2422,26 @@ SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London'; city London DROP TABLE t1; +create table t1 (a int(11) unsigned, b int(11) unsigned); +insert into t1 values (1,0), (1,1), (1,2); +select a-b from t1 order by 1; +a-b +0 +1 +18446744073709551615 +select a-b , (a-b < 0) from t1 order by 1; +a-b (a-b < 0) +0 0 +1 0 +18446744073709551615 0 +select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0; +d (a-b >= 0) b +1 1 0 +0 1 1 +18446744073709551615 1 2 +select cast((a - b) as unsigned) from t1 order by 1; +cast((a - b) as unsigned) +0 +1 +18446744073709551615 +drop table t1; diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test index 53f569c773e..f7144f436df 100644 --- a/mysql-test/t/select.test +++ b/mysql-test/t/select.test @@ -1964,3 +1964,14 @@ SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London'; DROP TABLE t1; +# +# Bug#7425 inconsistent sort order on unsigned columns result of substraction +# + +create table t1 (a int(11) unsigned, b int(11) unsigned); +insert into t1 values (1,0), (1,1), (1,2); +select a-b from t1 order by 1; +select a-b , (a-b < 0) from t1 order by 1; +select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0; +select cast((a - b) as unsigned) from t1 order by 1; +drop table t1; diff --git a/sql/filesort.cc b/sql/filesort.cc index 76ce9ac4ce2..c6af8cfc1b7 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -656,12 +656,18 @@ static void make_sortkey(register SORTPARAM *param, to[3]= (uchar) (value >> 32); to[2]= (uchar) (value >> 40); to[1]= (uchar) (value >> 48); - to[0]= (uchar) (value >> 56) ^ 128; // Fix sign + if (item->unsigned_flag) /* Fix sign */ + to[0]= (uchar) (value >> 56); + else + to[0]= (uchar) (value >> 56) ^ 128; /* Reverse signbit */ #else to[3]= (uchar) value; to[2]= (uchar) (value >> 8); to[1]= (uchar) (value >> 16); - to[0]= (uchar) (value >> 24) ^ 128; // Fix sign + if (item->unsigned_flag) /* Fix sign */ + to[0]= (uchar) (value >> 24); + else + to[0]= (uchar) (value >> 24) ^ 128; /* Reverse signbit */ #endif break; } diff --git a/sql/item.cc b/sql/item.cc index 1293d2c94fe..690ada2d660 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -2281,6 +2281,7 @@ void Item_ref::set_properties() decimals= (*ref)->decimals; collation.set((*ref)->collation); with_sum_func= (*ref)->with_sum_func; + unsigned_flag= (*ref)->unsigned_flag; fixed= 1; } From 5dca460b002430c90cc877d07bd50b0538559392 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 16:39:23 +0100 Subject: [PATCH 053/124] corrected typo: deafault -> default --- sql/ha_ndbcluster.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 35bbeca9cc0..2f755f842ac 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -6487,7 +6487,7 @@ ha_ndbcluster::build_scan_filter_predicate(Ndb_cond * &cond, : (b->type == NDB_FIELD)? b : NULL; break; - deafult: + default: break; } switch((negated) ? From bfbc7595dc1308d22861ed7bbcf4a381c2bb553d Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 08:56:50 -0800 Subject: [PATCH 054/124] Fix change made to ER_READY by creating a new message, instead. sql/mysqld.cc: Use new message for startup sql/share/errmsg.txt: Revert change to ER_READY, add new ER_STARTUP to use instead --- sql/mysqld.cc | 2 +- sql/share/errmsg.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 2c1451a95a4..03fe305eb64 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3147,7 +3147,7 @@ we force server id to 2, but this MySQL server will not act as a slave."); create_shutdown_thread(); create_maintenance_thread(); - sql_print_information(ER(ER_READY),my_progname,server_version, + sql_print_information(ER(ER_STARTUP),my_progname,server_version, ((unix_sock == INVALID_SOCKET) ? (char*) "" : mysqld_unix_port), mysqld_port, diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index f2772c29b32..f8e246fc45c 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -1824,7 +1824,7 @@ ER_READY cze "%s: p-Bøipraven na spojení" dan "%s: klar til tilslutninger" nla "%s: klaar voor verbindingen" - eng "%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d %s" + eng "%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d" jps "%s: €”õŠ®—¹", est "%s: ootab ühendusi" fre "%s: Prêt pour des connections" @@ -5328,3 +5328,5 @@ ER_DATA_TOO_LONG 22001 eng "Data too long for column '%s' at row %ld" ER_SP_BAD_SQLSTATE 42000 eng "Bad SQLSTATE: '%s'" +ER_STARTUP + eng "%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d %s" From cd4961830ef37a6c4470ec22fecdf308fc307a46 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 18:30:29 +0100 Subject: [PATCH 055/124] .del-ndb_multi.test~651e6ccb21dab6d9: Delete: mysql-test/t/ndb_multi.test .del-ndb_multi.result~4baa26e7403188ae: Delete: mysql-test/r/ndb_multi.result .del-have_multi_ndb.inc~ef8da69d972ee707: Delete: mysql-test/include/have_multi_ndb.inc BitKeeper/deleted/.del-have_multi_ndb.inc~ef8da69d972ee707: Delete: mysql-test/include/have_multi_ndb.inc BitKeeper/deleted/.del-ndb_multi.result~4baa26e7403188ae: Delete: mysql-test/r/ndb_multi.result BitKeeper/deleted/.del-ndb_multi.test~651e6ccb21dab6d9: Delete: mysql-test/t/ndb_multi.test From 9d839a140f8809625fd1da7a1ef823d2b433e7ed Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 19:21:57 +0100 Subject: [PATCH 056/124] Fix to make mysql-test-run.pl work with new system tables definitions mysql-test/lib/init_db.sql: Fixed mysql-test-run.pl's system tables to correspond to the real ones. --- mysql-test/lib/init_db.sql | 100 ++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/mysql-test/lib/init_db.sql b/mysql-test/lib/init_db.sql index cc44165405f..902af0b0842 100644 --- a/mysql-test/lib/init_db.sql +++ b/mysql-test/lib/init_db.sql @@ -4,18 +4,18 @@ CREATE TABLE db ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, - Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, - References_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, + Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM @@ -30,18 +30,18 @@ INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y', CREATE TABLE host ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, - Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, - References_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, + Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin @@ -52,28 +52,28 @@ CREATE TABLE user ( Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Password char(41) binary DEFAULT '' NOT NULL, - Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Process_priv enum('N','Y') DEFAULT 'N' NOT NULL, - File_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, - References_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Super_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL, - ssl_type enum('','ANY','X509', 'SPECIFIED') DEFAULT '' NOT NULL, + Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_cipher BLOB NOT NULL, x509_issuer BLOB NOT NULL, x509_subject BLOB NOT NULL, @@ -97,7 +97,7 @@ CREATE TABLE func ( name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, - type enum ('function','aggregate') NOT NULL, + type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin @@ -111,8 +111,8 @@ CREATE TABLE tables_priv ( Table_name char(64) binary DEFAULT '' NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp(14), - Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL, - Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL, + Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') COLLATE utf8_general_ci DEFAULT '' NOT NULL, + Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name),KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin @@ -126,7 +126,7 @@ CREATE TABLE columns_priv ( Table_name char(64) binary DEFAULT '' NOT NULL, Column_name char(64) binary DEFAULT '' NOT NULL, Timestamp timestamp(14), - Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL, + Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name,Column_name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin From d1b3c64b230e35dccf33ac7bb70bdd52f779536b Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 19:22:30 +0100 Subject: [PATCH 057/124] after merge fixes mysql-test/r/fulltext.result: after merge - test results updated sql/sql_class.cc: protection --- mysql-test/r/fulltext.result | 1 + mysys/my_bitmap.c | 6 ++++-- sql/ha_heap.cc | 2 -- sql/mysqld.cc | 4 ++-- sql/protocol.cc | 4 ++-- sql/sql_class.cc | 6 +++++- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index fa1e6a75e52..34d1213d1b2 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -132,6 +132,7 @@ a b MySQL has now support for full-text search select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE); a b +MySQL has now support for full-text search select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); a b MySQL has now support for full-text search diff --git a/mysys/my_bitmap.c b/mysys/my_bitmap.c index 462c4ec4692..c0eb6f15548 100644 --- a/mysys/my_bitmap.c +++ b/mysys/my_bitmap.c @@ -28,8 +28,8 @@ * when both arguments are bitmaps, they must be of the same size * bitmap_intersect() is an exception :) (for for Bitmap::intersect(ulonglong map2buff)) - - If THREAD is defined all bitmap operations except bitmap_init/bitmap_free + + If THREAD is defined all bitmap operations except bitmap_init/bitmap_free are thread-safe. TODO: @@ -40,6 +40,7 @@ #include #include +static inline void bitmap_lock(MY_BITMAP *map) { #ifdef THREAD if (map->mutex) @@ -47,6 +48,7 @@ #endif } +static inline void bitmap_unlock(MY_BITMAP *map) { #ifdef THREAD if (map->mutex) diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc index b5884b17093..7dc7da4dad6 100644 --- a/sql/ha_heap.cc +++ b/sql/ha_heap.cc @@ -489,8 +489,6 @@ int ha_heap::create(const char *name, TABLE *table_arg, default: DBUG_ASSERT(0); // cannot happen } - keydef[key].algorithm= ((pos->algorithm == HA_KEY_ALG_UNDEF) ? - HA_KEY_ALG_HASH : pos->algorithm); for (; key_part != key_part_end; key_part++, seg++) { diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 4b56154cf64..8e5668e684a 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1462,8 +1462,8 @@ void close_connection(THD *thd, uint errcode, bool lock) errcode ? ER(errcode) : "")); if (lock) (void) pthread_mutex_lock(&LOCK_thread_count); - thd->killed=1; - if ((vio=thd->net.vio) != 0) + thd->killed= THD::KILL_CONNECTION; + if ((vio= thd->net.vio) != 0) { if (errcode) net_send_error(thd, errcode, ER(errcode)); /* purecov: inspected */ diff --git a/sql/protocol.cc b/sql/protocol.cc index f84be5b1947..71908d2a958 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -60,7 +60,7 @@ void net_send_error(THD *thd, uint sql_errno, const char *err) char buff[MYSQL_ERRMSG_SIZE+2], *pos; #endif NET *net= &thd->net; - bool generate_warning= 1; + bool generate_warning= thd->killed != THD::KILL_CONNECTION; DBUG_ENTER("net_send_error"); DBUG_PRINT("enter",("sql_errno: %d err: %s", sql_errno, err ? err : net->last_error[0] ? @@ -252,7 +252,7 @@ net_printf_error(THD *thd, uint errcode, ...) strmake(net->last_error, text_pos, length); strmake(net->sqlstate, mysql_errno_to_sqlstate(errcode), SQLSTATE_LENGTH); #endif - if (!thd->killed) + if (thd->killed != THD::KILL_CONNECTION) push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, errcode, text_pos ? text_pos : ER(errcode)); thd->is_fatal_error=0; // Error message is given diff --git a/sql/sql_class.cc b/sql/sql_class.cc index bac3e42ed62..e8879e8c66f 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1781,7 +1781,11 @@ void TMP_TABLE_PARAM::init() void thd_increment_bytes_sent(ulong length) { - current_thd->status_var.bytes_sent+= length; + THD *thd=current_thd; + if (likely(thd)) + { /* current_thd==0 when close_connection() calls net_send_error() */ + thd->status_var.bytes_sent+= length; + } } From 368731548e264c1e9e778414e2c4eeb6e5cc3adc Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 20:32:01 +0200 Subject: [PATCH 058/124] log0recv.c: Better ibbackup message Add a message explaining why we do a 'crash recovery' after an ibbackup restore; suggested by Tim Smith innobase/log/log0recv.c: Better ibbackup message --- innobase/log/log0recv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/innobase/log/log0recv.c b/innobase/log/log0recv.c index ae84f085523..ddb33de6fa6 100644 --- a/innobase/log/log0recv.c +++ b/innobase/log/log0recv.c @@ -2565,8 +2565,10 @@ recv_recovery_from_checkpoint_start( a note to the user about it */ fprintf(stderr, - "InnoDB: The log file was created by ibbackup --restore at\n" + "InnoDB: The log file was created by ibbackup --apply-log at\n" "InnoDB: %s\n", log_hdr_buf + LOG_FILE_WAS_CREATED_BY_HOT_BACKUP); + fprintf(stderr, +"InnoDB: NOTE: the following crash recovery is part of a normal restore.\n"); /* Wipe over the label now */ From 1f229562713c573a7d164a86191f0df8f2573353 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 20:49:44 +0100 Subject: [PATCH 059/124] Fix complilation failure --- sql/sql_class.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index e8879e8c66f..5fb91d9c1a4 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1782,7 +1782,7 @@ void TMP_TABLE_PARAM::init() void thd_increment_bytes_sent(ulong length) { THD *thd=current_thd; - if (likely(thd)) + if (likely(thd != 0)) { /* current_thd==0 when close_connection() calls net_send_error() */ thd->status_var.bytes_sent+= length; } From db32810d02ca5cae3a5619d5008923a197425e84 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 22:04:55 +0200 Subject: [PATCH 060/124] InnoDB: Improve performance by about 10% by removing implicit memcpy() calls, by not initializing the offsets_[] arrays. InnoDB: Remove a Microsoft compiler warning in page0page.c. innobase/btr/btr0btr.c: Only initialize the first element of offsets_[] innobase/btr/btr0cur.c: Only initialize the first element of offsets_[] innobase/btr/btr0sea.c: Only initialize the first element of offsets_[] innobase/lock/lock0lock.c: Only initialize the first element of offsets_[] innobase/page/page0cur.c: Only initialize the first element of offsets_[] innobase/page/page0page.c: page_validate(): Silence a warning about unsigned/signed comparison. Other places: Only initialize the first element of offsets_[]. innobase/rem/rem0rec.c: Only initialize the first element of offsets_[] innobase/row/row0ins.c: Only initialize the first element of offsets_[] innobase/row/row0mysql.c: Only initialize the first element of offsets_[] innobase/row/row0purge.c: Only initialize the first element of offsets_[] innobase/row/row0row.c: Only initialize the first element of offsets_[] innobase/row/row0sel.c: Only initialize the first element of offsets_[] innobase/row/row0undo.c: Only initialize the first element of offsets_[] innobase/row/row0upd.c: Only initialize the first element of offsets_[] innobase/trx/trx0rec.c: Only initialize the first element of offsets_[] --- innobase/btr/btr0btr.c | 14 ++++++++------ innobase/btr/btr0cur.c | 32 ++++++++++++++++++++++---------- innobase/btr/btr0sea.c | 18 ++++++++++++------ innobase/lock/lock0lock.c | 26 +++++++++++++++++--------- innobase/page/page0cur.c | 23 ++++++++++++++++------- innobase/page/page0page.c | 21 ++++++++++++++------- innobase/rem/rem0rec.c | 17 ++++++++++------- innobase/row/row0ins.c | 15 +++++++++------ innobase/row/row0mysql.c | 3 ++- innobase/row/row0purge.c | 3 ++- innobase/row/row0row.c | 12 ++++++++---- innobase/row/row0sel.c | 23 ++++++++++++++--------- innobase/row/row0undo.c | 3 ++- innobase/row/row0upd.c | 22 +++++++++++++++------- innobase/trx/trx0rec.c | 3 ++- 15 files changed, 153 insertions(+), 82 deletions(-) diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c index 4fb930da50f..232d7f0f53b 100644 --- a/innobase/btr/btr0btr.c +++ b/innobase/btr/btr0btr.c @@ -567,8 +567,9 @@ btr_page_get_father_for_rec( btr_cur_t cursor; rec_t* node_ptr; dict_index_t* index; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(mtr_memo_contains(mtr, dict_tree_get_lock(tree), MTR_MEMO_X_LOCK)); @@ -2098,7 +2099,8 @@ btr_compress( btr_node_ptr_delete(tree, page, mtr); } else { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Replace the address of the old child node (= page) with the address of the merge page to the right */ @@ -2387,9 +2389,9 @@ btr_print_tree( mtr_t mtr; page_t* root; mem_heap_t* heap = NULL; - ulint offsets_[100] - = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; fputs("--------------------------\n" "INDEX TREE PRINT\n", stderr); @@ -2489,9 +2491,9 @@ btr_index_rec_validate( ulint i; page_t* page; mem_heap_t* heap = NULL; - ulint offsets_[100] - = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page = buf_frame_align(rec); diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index 91ba47224ef..6279ac79d3a 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -275,8 +275,9 @@ btr_cur_search_to_nth_level( btr_search_t* info; #endif mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Currently, PAGE_CUR_LE is the only search mode used for searches ending to upper levels */ @@ -578,8 +579,9 @@ btr_cur_open_at_index_side( ulint estimate; ulint savepoint; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; estimate = latch_mode & BTR_ESTIMATE; latch_mode = latch_mode & ~BTR_ESTIMATE; @@ -703,8 +705,9 @@ btr_cur_open_at_rnd_pos( ulint height; rec_t* node_ptr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; tree = index->tree; @@ -1252,7 +1255,9 @@ btr_cur_upd_lock_and_undo( if (!(flags & BTR_NO_LOCKING_FLAG)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + err = lock_clust_rec_modify_check_and_lock(flags, rec, index, rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap), thr); @@ -1426,8 +1431,9 @@ btr_cur_update_in_place( trx_t* trx; ibool was_delete_marked; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); index = cursor->index; @@ -2065,7 +2071,9 @@ btr_cur_parse_del_mark_set_clust_rec( if (!(flags & BTR_KEEP_SYS_FLAG)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + row_upd_rec_sys_fields_in_recovery(rec, rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap), @@ -2109,8 +2117,9 @@ btr_cur_del_mark_set_clust_rec( rec_t* rec; trx_t* trx; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); index = cursor->index; @@ -2399,9 +2408,10 @@ btr_cur_optimistic_delete( ulint max_ins_size; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; ibool no_compress_needed; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(mtr_memo_contains(mtr, buf_block_align(btr_cur_get_page(cursor)), MTR_MEMO_PAGE_X_FIX)); @@ -2803,10 +2813,12 @@ btr_estimate_number_of_different_key_vals( ulint add_on; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets1_[100] = { 100, }; - ulint offsets2_[100] = { 100, }; + ulint offsets1_[100]; + ulint offsets2_[100]; ulint* offsets1 = offsets1_; ulint* offsets2 = offsets2_; + *offsets1_ = (sizeof offsets1_) / sizeof *offsets1_; + *offsets2_ = (sizeof offsets2_) / sizeof *offsets2_; n_cols = dict_index_get_n_unique(index); diff --git a/innobase/btr/btr0sea.c b/innobase/btr/btr0sea.c index dc712f650e7..5f95937a2cb 100644 --- a/innobase/btr/btr0sea.c +++ b/innobase/btr/btr0sea.c @@ -420,7 +420,8 @@ btr_search_update_hash_ref( && (block->curr_n_bytes == info->n_bytes) && (block->curr_side == info->side)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); @@ -552,9 +553,10 @@ btr_search_check_guess( ulint bytes; int cmp; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; ibool success = FALSE; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; n_unique = dict_index_get_n_unique_in_tree(cursor->index); @@ -1098,8 +1100,9 @@ btr_search_build_page_hash_index( rec_t** recs; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index); @@ -1341,8 +1344,9 @@ btr_search_update_hash_on_delete( ulint fold; dulint tree_id; ibool found; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; mem_heap_t* heap = NULL; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); @@ -1452,8 +1456,9 @@ btr_search_update_hash_on_insert( ulint side; ibool locked = FALSE; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; table = btr_search_sys->hash_index; @@ -1591,8 +1596,9 @@ btr_search_validate(void) ibool ok = TRUE; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rw_lock_x_lock(&btr_search_latch); diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index a2560c1faae..66a746111e8 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -4094,8 +4094,9 @@ lock_rec_print( ulint i; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&kernel_mutex)); @@ -4592,8 +4593,9 @@ lock_rec_validate_page( ulint i; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; #ifdef UNIV_SYNC_DEBUG ut_ad(!mutex_own(&kernel_mutex)); @@ -4841,9 +4843,11 @@ lock_rec_insert_check_and_lock( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; - const ulint* offsets = rec_get_offsets( - next_rec, index, offsets_, + ulint offsets_[100]; + const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + + offsets = rec_get_offsets(next_rec, index, offsets_, ULINT_UNDEFINED, &heap); ut_ad(lock_rec_queue_validate(next_rec, index, offsets)); if (heap) { @@ -4988,9 +4992,12 @@ lock_sec_rec_modify_check_and_lock( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; - const ulint* offsets = rec_get_offsets( - rec, index, offsets_, ULINT_UNDEFINED, &heap); + ulint offsets_[100]; + const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + + offsets = rec_get_offsets(rec, index, offsets_, + ULINT_UNDEFINED, &heap); ut_ad(lock_rec_queue_validate(rec, index, offsets)); if (heap) { mem_heap_free(heap); @@ -5159,9 +5166,10 @@ lock_clust_rec_read_check_and_lock_alt( que_thr_t* thr) /* in: query thread */ { mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; ulint ret; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, index, offsets, ULINT_UNDEFINED, &tmp_heap); diff --git a/innobase/page/page0cur.c b/innobase/page/page0cur.c index d083cc26069..1b0df59d57f 100644 --- a/innobase/page/page0cur.c +++ b/innobase/page/page0cur.c @@ -59,8 +59,10 @@ page_cur_try_search_shortcut( #endif ibool success = FALSE; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + ut_ad(dtuple_check_typed(tuple)); rec = page_header_get_ptr(page, PAGE_LAST_INSERT); @@ -229,8 +231,9 @@ page_cur_search_with_match( ulint dbg_matched_bytes; #endif mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(page && tuple && iup_matched_fields && iup_matched_bytes && ilow_matched_fields && ilow_matched_bytes && cursor); @@ -517,12 +520,15 @@ page_cur_insert_rec_write_log( { mem_heap_t* heap = NULL; - ulint cur_offs_[100] = { 100, }; - ulint ins_offs_[100] = { 100, }; + ulint cur_offs_[100]; + ulint ins_offs_[100]; ulint* cur_offs; ulint* ins_offs; + *cur_offs_ = (sizeof cur_offs_) / sizeof *cur_offs_; + *ins_offs_ = (sizeof ins_offs_) / sizeof *ins_offs_; + cur_offs = rec_get_offsets(cursor_rec, index, cur_offs_, ULINT_UNDEFINED, &heap); ins_offs = rec_get_offsets(insert_rec, index, ins_offs_, @@ -671,8 +677,9 @@ page_cur_parse_insert_rec( ulint info_and_status_bits = 0; /* remove warning */ page_cur_t cursor; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; if (!is_short) { /* Read the cursor rec offset as a 2-byte ulint */ @@ -1079,8 +1086,9 @@ page_copy_rec_list_end_to_created_page( ulint log_data_len; ibool comp = page_is_comp(page); mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(page_dir_get_n_heap(new_page) == 2); ut_ad(page != new_page); @@ -1268,8 +1276,9 @@ page_cur_parse_delete_rec( if (page) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; rec_t* rec = page + offset; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page_cur_position(rec, &cursor); diff --git a/innobase/page/page0page.c b/innobase/page/page0page.c index b393f0c0ad7..eb8a11f113b 100644 --- a/innobase/page/page0page.c +++ b/innobase/page/page0page.c @@ -232,8 +232,9 @@ page_mem_alloc( if (rec) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, index, offsets, ULINT_UNDEFINED, &heap); @@ -466,8 +467,9 @@ page_copy_rec_list_end_no_locks( page_cur_t cur2; rec_t* sup; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page_cur_position(rec, &cur1); @@ -566,8 +568,9 @@ page_copy_rec_list_start( page_cur_t cur2; rec_t* old_end; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page_cur_set_before_first(page, &cur1); @@ -747,8 +750,9 @@ page_delete_rec_list_end( if ((size == ULINT_UNDEFINED) || (n_recs == ULINT_UNDEFINED)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Calculate the sum of sizes and the number of records */ size = 0; n_recs = 0; @@ -831,10 +835,11 @@ page_delete_rec_list_start( { page_cur_t cur1; ulint log_mode; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; mem_heap_t* heap = NULL; byte type; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; if (index->table->comp) { type = MLOG_COMP_LIST_START_DELETE; @@ -1326,8 +1331,9 @@ page_print_list( ulint count; ulint n_recs; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_a(page_is_comp(page) == index->table->comp); @@ -1776,7 +1782,8 @@ page_validate( if (comp && page_rec_is_user_rec(rec) && rec_get_node_ptr_flag(rec) - == !btr_page_get_level_low(page)) { + != (ibool) + (btr_page_get_level_low(page) != 0)) { fputs("InnoDB: node_ptr flag mismatch\n", stderr); goto func_exit; } diff --git a/innobase/rem/rem0rec.c b/innobase/rem/rem0rec.c index 904f91b8945..94b2c692897 100644 --- a/innobase/rem/rem0rec.c +++ b/innobase/rem/rem0rec.c @@ -958,9 +958,11 @@ rec_convert_dtuple_to_rec( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100 + REC_OFFS_HEADER_SIZE] - = { 100, }; - const ulint* offsets = rec_get_offsets(rec, index, + ulint offsets_[100]; + const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + + offsets = rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap); ut_ad(rec_validate(rec, offsets)); if (heap) { @@ -989,9 +991,9 @@ rec_copy_prefix_to_dtuple( ulint len; byte* buf = NULL; ulint i; - ulint offsets_[100 + REC_OFFS_HEADER_SIZE] - = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, index, offsets, n_fields, &heap); @@ -1405,8 +1407,9 @@ rec_print( return; } else { mem_heap_t* heap = NULL; - ulint offsets_[100 + REC_OFFS_HEADER_SIZE] - = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + rec_print_new(file, rec, rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap)); if (heap) { diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c index 87ed497ba1e..99a74501ade 100644 --- a/innobase/row/row0ins.c +++ b/innobase/row/row0ins.c @@ -1134,8 +1134,9 @@ row_ins_check_foreign_constraint( mtr_t mtr; trx_t* trx = thr_get_trx(thr); mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; run_again: #ifdef UNIV_SYNC_DEBUG @@ -1558,8 +1559,9 @@ row_ins_scan_sec_index_for_duplicate( mtr_t mtr; trx_t* trx; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; n_unique = dict_index_get_n_unique(index); @@ -1695,9 +1697,9 @@ row_ins_duplicate_error_in_clust( ulint n_unique; trx_t* trx = thr_get_trx(thr); mem_heap_t*heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; - + *offsets_ = (sizeof offsets_) / sizeof *offsets_; UT_NOT_USED(mtr); @@ -1897,9 +1899,10 @@ row_ins_index_entry_low( big_rec_t* big_rec = NULL; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; - + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + log_free_check(); mtr_start(&mtr); diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index 1ee3f7d380e..fd8c2b060ef 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -3673,8 +3673,9 @@ row_scan_and_check_index( ibool contains_null; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; *n_rows = 0; diff --git a/innobase/row/row0purge.c b/innobase/row/row0purge.c index 8897a1a872f..659a13b42a9 100644 --- a/innobase/row/row0purge.c +++ b/innobase/row/row0purge.c @@ -101,7 +101,8 @@ row_purge_remove_clust_if_poss_low( mtr_t mtr; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = dict_table_get_first_index(node->table); diff --git a/innobase/row/row0row.c b/innobase/row/row0row.c index 438e54757cd..4f080c22af3 100644 --- a/innobase/row/row0row.c +++ b/innobase/row/row0row.c @@ -203,7 +203,8 @@ row_build( byte* buf; ulint i; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index && rec && heap); ut_ad(index->type & DICT_CLUSTERED); @@ -296,8 +297,9 @@ row_rec_to_index_entry( ulint rec_len; byte* buf; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(rec && heap && index); @@ -377,8 +379,9 @@ row_build_row_ref( ulint clust_col_prefix_len; ulint i; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index && rec && heap); @@ -470,8 +473,9 @@ row_build_row_ref_in_tuple( ulint clust_col_prefix_len; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_a(ref && index && rec); diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index 7a5e4cb9264..16e2dc69e0b 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -79,14 +79,15 @@ row_sel_sec_rec_is_for_clust_rec( ulint i; dtype_t* cur_type; mem_heap_t* heap = NULL; - ulint clust_offsets_[100] - = { 100, }; - ulint sec_offsets_[10] - = { 10, }; + ulint clust_offsets_[100]; + ulint sec_offsets_[10]; ulint* clust_offs = clust_offsets_; ulint* sec_offs = sec_offsets_; ibool is_equal = TRUE; + *clust_offsets_ = (sizeof clust_offsets_) / sizeof *clust_offsets_; + *sec_offsets_ = (sizeof sec_offsets_) / sizeof *sec_offsets_; + clust_offs = rec_get_offsets(clust_rec, clust_index, clust_offs, ULINT_UNDEFINED, &heap); sec_offs = rec_get_offsets(sec_rec, sec_index, sec_offs, @@ -625,8 +626,9 @@ row_sel_get_clust_rec( rec_t* old_vers; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, btr_pcur_get_btr_cur(&plan->pcur)->index, @@ -990,9 +992,10 @@ row_sel_try_search_shortcut( dict_index_t* index; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; ulint ret; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = plan->index; @@ -1115,8 +1118,9 @@ row_sel( ulint found_flag; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(thr->run_node == node); @@ -3035,9 +3039,10 @@ row_search_for_mysql( ulint next_offs; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; - + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + ut_ad(index && pcur && search_tuple); ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); diff --git a/innobase/row/row0undo.c b/innobase/row/row0undo.c index d994eab9873..895303e361c 100644 --- a/innobase/row/row0undo.c +++ b/innobase/row/row0undo.c @@ -152,8 +152,9 @@ row_undo_search_clust_to_pcur( ibool ret; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; mtr_start(&mtr); diff --git a/innobase/row/row0upd.c b/innobase/row/row0upd.c index 173912d6956..d04e3c3aef1 100644 --- a/innobase/row/row0upd.c +++ b/innobase/row/row0upd.c @@ -706,8 +706,9 @@ row_upd_build_sec_rec_difference_binary( upd_t* update; ulint n_diff; ulint i; - ulint offsets_[10] = { 10, }; + ulint offsets_[10]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* This function is used only for a secondary index */ ut_a(0 == (index->type & DICT_CLUSTERED)); @@ -783,8 +784,9 @@ row_upd_build_difference_binary( ulint trx_id_pos; ibool extern_bit; ulint i; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* This function is used only for a clustered index */ ut_a(index->type & DICT_CLUSTERED); @@ -1193,8 +1195,9 @@ row_upd_store_row( upd_t* update; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(node->pcur->latch_mode != BTR_NO_LATCHES); @@ -1393,7 +1396,8 @@ row_upd_clust_rec_by_insert( btr_cur = btr_pcur_get_btr_cur(pcur); if (node->state != UPD_NODE_INSERT_CLUSTERED) { - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; err = btr_cur_del_mark_set_clust_rec(BTR_NO_LOCKING_FLAG, btr_cur, TRUE, thr, mtr); @@ -1533,8 +1537,10 @@ row_upd_clust_rec( if (err == DB_SUCCESS && big_rec) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; rec_t* rec; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + mtr_start(mtr); ut_a(btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, mtr)); @@ -1631,8 +1637,9 @@ row_upd_clust_step( mtr_t mtr_buf; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = dict_table_get_first_index(node->table); @@ -1988,7 +1995,8 @@ row_upd_in_place_in_select( btr_cur_t* btr_cur; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(sel_node->select_will_do_update); ut_ad(sel_node->latch_mode == BTR_MODIFY_LEAF); diff --git a/innobase/trx/trx0rec.c b/innobase/trx/trx0rec.c index 90ecb217c1d..7b62137ba09 100644 --- a/innobase/trx/trx0rec.c +++ b/innobase/trx/trx0rec.c @@ -1016,8 +1016,9 @@ trx_undo_report_row_operation( trx_rseg_t* rseg; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[100]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_a(index->type & DICT_CLUSTERED); From 4c53613580983f0d29985001714b39e0cbb8af48 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 13:20:52 -0800 Subject: [PATCH 061/124] func_str.result: Correction after manual merge. mysql-test/r/func_str.result: Correction after manual merge. --- mysql-test/r/func_str.result | 63 ------------------------------------ 1 file changed, 63 deletions(-) diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result index aaf0a4e7411..855473bdc08 100644 --- a/mysql-test/r/func_str.result +++ b/mysql-test/r/func_str.result @@ -277,69 +277,6 @@ SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') bugdesc REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa drop table t1; -CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id (id)) TYPE=MyISAM; -INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf'); -SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password"); -1 -DROP TABLE t1; -CREATE TABLE t1 ( -wid int(10) unsigned NOT NULL auto_increment, -data_podp date default NULL, -status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy', -PRIMARY KEY(wid) -); -INSERT INTO t1 VALUES (8,NULL,'real'); -INSERT INTO t1 VALUES (9,NULL,'nowy'); -SELECT elt(status_wnio,data_podp) FROM t1 GROUP BY wid; -elt(status_wnio,data_podp) -NULL -NULL -DROP TABLE t1; -CREATE TABLE t1 ( -title text -) TYPE=MyISAM; -INSERT INTO t1 VALUES ('Congress reconvenes in September to debate welfare and adult education'); -INSERT INTO t1 VALUES ('House passes the CAREERS bill'); -SELECT CONCAT("",RPAD("",(55 - LENGTH(title)),".")) from t1; -CONCAT("",RPAD("",(55 - LENGTH(title)),".")) -NULL -.......................... -DROP TABLE t1; -CREATE TABLE t1 (i int, j int); -INSERT INTO t1 VALUES (1,1),(2,2); -SELECT DISTINCT i, ELT(j, '345', '34') FROM t1; -i ELT(j, '345', '34') -1 345 -2 34 -DROP TABLE t1; -create table t1(a char(4)); -insert into t1 values ('one'),(NULL),('two'),('four'); -select a, quote(a), isnull(quote(a)), quote(a) is null, ifnull(quote(a), 'n') from t1; -a quote(a) isnull(quote(a)) quote(a) is null ifnull(quote(a), 'n') -one 'one' 0 0 'one' -NULL NULL 0 0 NULL -two 'two' 0 0 'two' -four 'four' 0 0 'four' -drop table t1; -select trim(trailing 'foo' from 'foo'); -trim(trailing 'foo' from 'foo') - -select trim(leading 'foo' from 'foo'); -trim(leading 'foo' from 'foo') - -select quote(ltrim(concat(' ', 'a'))); -quote(ltrim(concat(' ', 'a'))) -'a' -select quote(trim(concat(' ', 'a'))); -quote(trim(concat(' ', 'a'))) -'a' -CREATE TABLE t1 SELECT 1 UNION SELECT 2 UNION SELECT 3; -SELECT QUOTE('A') FROM t1; -QUOTE('A') -'A' -'A' -'A' -DROP TABLE t1; CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id (id)) ENGINE=MyISAM; INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf'); SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password"); From fad705db81aa929346a9b84a4111477397ee10ec Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 00:52:47 +0300 Subject: [PATCH 062/124] Portability fix. sql/sql_lex.h: LEX::requires_prelocking(): Portability fix. Seems that VC++ does not understand implicit pointer to bool conversion. --- sql/sql_lex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 3588f376d2f..4cbf9f802d0 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -860,7 +860,7 @@ typedef struct st_lex inline bool requires_prelocking() { - return query_tables_own_last; + return test(query_tables_own_last); } inline void mark_as_requiring_prelocking(TABLE_LIST **tables_own_last) { From 5b26228c3d49d30c32d5b9e23593d18041928dae Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 21:53:04 +0000 Subject: [PATCH 063/124] Cleanup for VC++ sql/item_func.cc: Cleanup sql/item_func.h: Cleanup --- sql/item_func.cc | 38 +++++++++++++++++++------------------- sql/item_func.h | 5 +---- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/sql/item_func.cc b/sql/item_func.cc index abcdc1d2aab..680f3608d0d 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4368,33 +4368,19 @@ longlong Item_func_row_count::val_int() Item_func_sp::Item_func_sp(sp_name *name) :Item_func(), m_name(name), m_sp(NULL) { - char *empty_name= (char *) ""; maybe_null= 1; m_name->init_qname(current_thd); - bzero(&dummy_table, sizeof(dummy_table)); - dummy_table.share.table_cache_key = empty_name; - dummy_table.share.table_name = empty_name; - dummy_table.table.alias = empty_name; - dummy_table.share.table_name = empty_name; - dummy_table.table.maybe_null = maybe_null; - dummy_table.table.in_use= current_thd; - dummy_table.table.s = &dummy_table.share; + dummy_table= (TABLE *)sql_alloc(sizeof(TABLE)); + bzero(dummy_table, sizeof(TABLE)); } Item_func_sp::Item_func_sp(sp_name *name, List &list) :Item_func(list), m_name(name), m_sp(NULL) { - char *empty_name= (char *) ""; maybe_null= 1; m_name->init_qname(current_thd); - bzero(&dummy_table, sizeof(dummy_table)); - dummy_table.share.table_cache_key = empty_name; - dummy_table.share.table_name = empty_name; - dummy_table.table.alias = empty_name; - dummy_table.share.table_name = empty_name; - dummy_table.table.maybe_null = maybe_null; - dummy_table.table.in_use= current_thd; - dummy_table.table.s = &dummy_table.share; + dummy_table= (TABLE *)sql_alloc(sizeof(TABLE)); + bzero(dummy_table, sizeof(TABLE)); } const char * @@ -4426,7 +4412,21 @@ Item_func_sp::sp_result_field(void) const THD *thd= current_thd; DBUG_ENTER("Item_func_sp::sp_result_field"); if (m_sp) - field= m_sp->make_field(max_length, name, &dummy_table.table); + { + if (dummy_table->s == NULL) + { + char *empty_name= (char *) ""; + TABLE_SHARE *share; + dummy_table->s= share= &dummy_table->share_not_to_be_used; + dummy_table->alias = empty_name; + dummy_table->maybe_null = maybe_null; + dummy_table->in_use= current_thd; + share->table_cache_key = empty_name; + share->table_name = empty_name; + share->table_name = empty_name; + } + field= m_sp->make_field(max_length, name, dummy_table); + } DBUG_RETURN(field); } diff --git a/sql/item_func.h b/sql/item_func.h index cd7f39e9557..eb9aa4ca0c7 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1252,10 +1252,7 @@ class Item_func_sp :public Item_func private: sp_name *m_name; mutable sp_head *m_sp; - mutable struct { - TABLE table; - TABLE_SHARE share; - } dummy_table; + TABLE *dummy_table; int execute(Item **itp); Field *sp_result_field(void) const; From 7a842c63caf1dbd18eb3bed550892112d1300f74 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 23:38:11 +0100 Subject: [PATCH 064/124] Fixed broken 4.1->5.0 merge --- sql/ha_ndbcluster.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 03235190cb3..114e3708fba 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -416,9 +416,9 @@ void ha_ndbcluster::invalidateDictionaryCache() NDBDICT *dict= get_ndb()->getDictionary(); DBUG_PRINT("info", ("invalidating %s", m_tabname)); dict->invalidateTable(m_tabname); - table->version=0L; /* Free when thread is ready */ + table->s->version=0L; /* Free when thread is ready */ /* Invalidate indexes */ - for (uint i= 0; i < table->keys; i++) + for (uint i= 0; i < table->s->keys; i++) { NDBINDEX *index = (NDBINDEX *) m_index[i].index; NDBINDEX *unique_index = (NDBINDEX *) m_index[i].unique_index; From ef46ec4197c57ac938b887b7e6b0dfe372ce75da Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 00:10:10 +0100 Subject: [PATCH 065/124] sql/ha_ndbcluster.cc after merge fix sql/sql_parse.cc correct max_connections condition sql/ha_ndbcluster.cc: after merge fix sql/sql_parse.cc: correct max_connections condition --- sql/ha_ndbcluster.cc | 6 +++--- sql/sql_parse.cc | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 03235190cb3..dd0e4f5b022 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -416,9 +416,9 @@ void ha_ndbcluster::invalidateDictionaryCache() NDBDICT *dict= get_ndb()->getDictionary(); DBUG_PRINT("info", ("invalidating %s", m_tabname)); dict->invalidateTable(m_tabname); - table->version=0L; /* Free when thread is ready */ + table->s->version=0L; /* Free when thread is ready */ /* Invalidate indexes */ - for (uint i= 0; i < table->keys; i++) + for (uint i= 0; i < table->s->keys; i++) { NDBINDEX *index = (NDBINDEX *) m_index[i].index; NDBINDEX *unique_index = (NDBINDEX *) m_index[i].unique_index; @@ -428,7 +428,7 @@ void ha_ndbcluster::invalidateDictionaryCache() case(PRIMARY_KEY_ORDERED_INDEX): case(ORDERED_INDEX): dict->invalidateIndex(index->getName(), m_tabname); - break; + break; case(UNIQUE_ORDERED_INDEX): dict->invalidateIndex(index->getName(), m_tabname); case(UNIQUE_INDEX): diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 7d3f8899cd5..03e6d91507c 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -355,11 +355,11 @@ int check_user(THD *thd, enum enum_server_command command, if (check_count) { VOID(pthread_mutex_lock(&LOCK_thread_count)); - bool count_ok= thread_count < max_connections + delayed_insert_threads + bool count_ok= thread_count <= max_connections + delayed_insert_threads || (thd->master_access & SUPER_ACL); VOID(pthread_mutex_unlock(&LOCK_thread_count)); if (!count_ok) - { // too many connections + { // too many connections net_send_error(thd, ER_CON_COUNT_ERROR); DBUG_RETURN(-1); } From 4b5c3e6e428f5fef4cf837c4467b12c4c4a818ff Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 07:45:17 +0100 Subject: [PATCH 066/124] bug#9089 ndb - Reenable MAX_OPEN_FILES to enable LCP in some situations ndb/include/mgmapi/mgmapi_config_parameters.h: Reenable MAX_OPEN_FILES to enable LCP in some situations ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp: Reenable MAX_OPEN_FILES to enable LCP in some situations ndb/src/mgmsrv/ConfigInfo.cpp: Reenable MAX_OPEN_FILES to enable LCP in some situations --- ndb/include/mgmapi/mgmapi_config_parameters.h | 2 ++ ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp | 6 +++--- ndb/src/mgmsrv/ConfigInfo.cpp | 5 ++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ndb/include/mgmapi/mgmapi_config_parameters.h b/ndb/include/mgmapi/mgmapi_config_parameters.h index 8a04ee2fe37..432854d1d36 100644 --- a/ndb/include/mgmapi/mgmapi_config_parameters.h +++ b/ndb/include/mgmapi/mgmapi_config_parameters.h @@ -81,6 +81,8 @@ #define CFG_DB_BACKUP_DATADIR 158 +#define CFG_DB_MAX_OPEN_FILES 159 + #define CFG_NODE_ARBIT_RANK 200 #define CFG_NODE_ARBIT_DELAY 201 diff --git a/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp b/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp index 9c943760e31..9750e1c5179 100644 --- a/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp +++ b/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp @@ -66,10 +66,10 @@ Ndbfs::Ndbfs(const Configuration & conf) : ndbrequire(p != 0); m_maxFiles = 40; - //ndb_mgm_get_int_parameter(p, CFG_DB_MAX_OPEN_FILES, &m_maxFiles); - + ndb_mgm_get_int_parameter(p, CFG_DB_MAX_OPEN_FILES, &m_maxFiles); + // Create idle AsyncFiles - Uint32 noIdleFiles = 27; + Uint32 noIdleFiles = m_maxFiles > 27 ? 27 : m_maxFiles ; for (Uint32 i = 0; i < noIdleFiles; i++){ theIdleFiles.push_back(createAsyncFile()); } diff --git a/ndb/src/mgmsrv/ConfigInfo.cpp b/ndb/src/mgmsrv/ConfigInfo.cpp index 9be4af1b9b5..a91b1c4fcab 100644 --- a/ndb/src/mgmsrv/ConfigInfo.cpp +++ b/ndb/src/mgmsrv/ConfigInfo.cpp @@ -873,7 +873,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { STR_VALUE(MAX_INT_RNIL) }, { - KEY_INTERNAL, + CFG_DB_MAX_OPEN_FILES, "MaxNoOfOpenFiles", DB_TOKEN, "Max number of files open per "DB_TOKEN_PRINT" node.(One thread is created per file)", @@ -882,8 +882,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::CI_INT, "40", "20", - "256" }, - + STR_VALUE(MAX_INT_RNIL) }, { CFG_DB_TRANSACTION_CHECK_INTERVAL, From 8c2067654bfdca62ddc4e76299b59e9c7dbb3963 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 10:43:11 +0100 Subject: [PATCH 067/124] Removed unused variable sql/sql_class.h: Removed unused variable temprary_tables_should_be_free --- sql/sql_class.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sql/sql_class.h b/sql/sql_class.h index e793f5776d7..0f4a9ab357a 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1129,7 +1129,6 @@ public: table_map used_tables; USER_CONN *user_connect; CHARSET_INFO *db_charset; - List temporary_tables_should_be_free; // list of temporary tables /* FIXME: this, and some other variables like 'count_cuted_fields' maybe should be statement/cursor local, that is, moved to Statement From 87636012c7a84ad90d38ff7b28d68ebea67a5098 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 10:46:19 +0100 Subject: [PATCH 068/124] Fix uninitialised variable in Dbacc ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: Found use of uninitialised variable when increasing m_commit_count. Moved initialisation of rootfragrecptr to before increase of m_commit_count, and removed the two initializations further down, since they are now unneccessary. --- ndb/src/kernel/blocks/dbacc/DbaccMain.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp index dd68599f4f6..a16c0da369b 100644 --- a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +++ b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp @@ -2449,14 +2449,14 @@ void Dbacc::execACC_COMMITREQ(Signal* signal) operationRecPtr.p->transactionstate = IDLE; operationRecPtr.p->operation = ZUNDEFINED_OP; if(Toperation != ZREAD){ + rootfragrecptr.i = fragrecptr.p->myroot; + ptrCheckGuard(rootfragrecptr, crootfragmentsize, rootfragmentrec); rootfragrecptr.p->m_commit_count++; if (Toperation != ZINSERT) { if (Toperation != ZDELETE) { return; } else { jam(); - rootfragrecptr.i = fragrecptr.p->myroot; - ptrCheckGuard(rootfragrecptr, crootfragmentsize, rootfragmentrec); rootfragrecptr.p->noOfElements--; fragrecptr.p->slack += operationRecPtr.p->insertDeleteLen; if (fragrecptr.p->slack > fragrecptr.p->slackCheck) { @@ -2476,8 +2476,6 @@ void Dbacc::execACC_COMMITREQ(Signal* signal) }//if } else { jam(); /* EXPAND PROCESS HANDLING */ - rootfragrecptr.i = fragrecptr.p->myroot; - ptrCheckGuard(rootfragrecptr, crootfragmentsize, rootfragmentrec); rootfragrecptr.p->noOfElements++; fragrecptr.p->slack -= operationRecPtr.p->insertDeleteLen; if (fragrecptr.p->slack >= (1u << 31)) { From 8c6a02dff29be80873b2e645368f8afbc15bef15 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 16:05:48 +0300 Subject: [PATCH 069/124] Fix for sp.test failure in --ps-protocol mode (2nd attempt). Now we should call open_and_lock_tables() even if table list is empty - to cache stored routines used by query and open and lock tables required for their execution. sql/sql_insert.cc: Now we should call open_and_lock_tables() even if table list is empty - to cache stored routines used by query and open and lock tables required for their execution. sql/sql_prepare.cc: Now we should call open_and_lock_tables() even if table list is empty - to cache stored routines used by query and open and lock tables required for their execution. Thus we have to move most of functionality from select_like_statement_test() to separate function to be able to reuse it for multi-update processing (for which tables are open and locked in mysql_multi_update_prepare() call). --- sql/sql_insert.cc | 8 ++-- sql/sql_prepare.cc | 99 +++++++++++++++++++++++++++++++--------------- 2 files changed, 72 insertions(+), 35 deletions(-) diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 5741804bdae..e2ab7ea12c5 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -217,9 +217,11 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, } if ((table= delayed_get_table(thd,table_list)) && !thd->is_fatal_error) { - res= 0; - if (table_list->next_global) /* if sub select */ - res= open_and_lock_tables(thd, table_list->next_global); + /* + Open tables used for sub-selects or in stored functions, will also + cache these functions. + */ + res= open_and_lock_tables(thd, table_list->next_global); /* First is not processed by open_and_lock_tables() => we need set updateability flags "by hands". diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index 8006c61f233..5cd4753c229 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -1230,7 +1230,7 @@ static bool mysql_test_do_fields(Prepared_statement *stmt, if (tables && check_table_access(thd, SELECT_ACL, tables, 0)) DBUG_RETURN(TRUE); - if (tables && open_and_lock_tables(thd, tables)) + if (open_and_lock_tables(thd, tables)) { DBUG_RETURN(TRUE); } @@ -1261,12 +1261,12 @@ static bool mysql_test_set_fields(Prepared_statement *stmt, List_iterator_fast it(*var_list); THD *thd= stmt->thd; set_var_base *var; - bool res= 0; + bool res; if (tables && check_table_access(thd, SELECT_ACL, tables, 0)) DBUG_RETURN(TRUE); - if (tables && (res= open_and_lock_tables(thd, tables))) + if ((res= open_and_lock_tables(thd, tables))) goto error; while ((var= it++)) { @@ -1287,30 +1287,30 @@ error: Check internal SELECT of the prepared command SYNOPSIS - select_like_statement_test() - stmt - prepared table handler - tables - global list of tables - specific_prepare - function of command specific prepare + select_like_stmt_test() + stmt - prepared statement handler + specific_prepare - function of command specific prepare + setup_tables_done_option - options to be passed to LEX::unit.prepare() + + NOTE + This function won't directly open tables used in select. They should + be opened either by calling function (and in this case you probably + should use select_like_stmt_test_with_open_n_lock()) or by + "specific_prepare" call (like this happens in case of multi-update). RETURN VALUE FALSE success TRUE error */ -static bool select_like_statement_test(Prepared_statement *stmt, - TABLE_LIST *tables, - bool (*specific_prepare)(THD *thd), - ulong setup_tables_done_option) + +static bool select_like_stmt_test(Prepared_statement *stmt, + bool (*specific_prepare)(THD *thd), + ulong setup_tables_done_option) { - DBUG_ENTER("select_like_statement_test"); + DBUG_ENTER("select_like_stmt_test"); THD *thd= stmt->thd; LEX *lex= stmt->lex; - bool res= 0; - - /* check that tables was not opened during conversion from usual update */ - if (tables && - (!tables->table && !tables->view) && - (res= open_and_lock_tables(thd, tables))) - goto end; + bool res= FALSE; if (specific_prepare && (res= (*specific_prepare)(thd))) goto end; @@ -1328,6 +1328,44 @@ end: } +/* + Check internal SELECT of the prepared command (with opening and + locking tables used). + + SYNOPSIS + select_like_stmt_test_with_open_n_lock() + stmt - prepared statement handler + tables - list of tables to be opened and locked + before calling specific_prepare function + specific_prepare - function of command specific prepare + setup_tables_done_option - options to be passed to LEX::unit.prepare() + + RETURN VALUE + FALSE success + TRUE error +*/ + +static bool +select_like_stmt_test_with_open_n_lock(Prepared_statement *stmt, + TABLE_LIST *tables, + bool (*specific_prepare)(THD *thd), + ulong setup_tables_done_option) +{ + DBUG_ENTER("select_like_stmt_test_with_open_n_lock"); + + /* + We should not call LEX::unit.cleanup() after this open_and_lock_tables() + call because we don't allow prepared EXPLAIN yet so derived tables will + clean up after themself. + */ + if (open_and_lock_tables(stmt->thd, tables)) + DBUG_RETURN(TRUE); + + DBUG_RETURN(select_like_stmt_test(stmt, specific_prepare, + setup_tables_done_option)); +} + + /* Validate and prepare for execution CREATE TABLE statement @@ -1358,7 +1396,7 @@ static int mysql_test_create_table(Prepared_statement *stmt) select_lex->item_list.elements) { select_lex->resolve_mode= SELECT_LEX::SELECT_MODE; - res= select_like_statement_test(stmt, tables, 0, 0); + res= select_like_stmt_test_with_open_n_lock(stmt, tables, 0, 0); select_lex->resolve_mode= SELECT_LEX::NOMATTER_MODE; } @@ -1389,12 +1427,9 @@ static bool mysql_test_multiupdate(Prepared_statement *stmt, /* if we switched from normal update, rights are checked */ if (!converted && multi_update_precheck(stmt->thd, tables)) return TRUE; - /* - here we do not pass tables for opening, tables will be opened and locked - by mysql_multi_update_prepare - */ - return select_like_statement_test(stmt, 0, &mysql_multi_update_prepare, - OPTION_SETUP_TABLES_DONE); + + return select_like_stmt_test(stmt, &mysql_multi_update_prepare, + OPTION_SETUP_TABLES_DONE); } @@ -1422,9 +1457,9 @@ static int mysql_test_multidelete(Prepared_statement *stmt, uint fake_counter; if ((res= multi_delete_precheck(stmt->thd, tables, &fake_counter))) return res; - if ((res= select_like_statement_test(stmt, tables, - &mysql_multi_delete_prepare, - OPTION_SETUP_TABLES_DONE))) + if ((res= select_like_stmt_test_with_open_n_lock(stmt, tables, + &mysql_multi_delete_prepare, + OPTION_SETUP_TABLES_DONE))) return res; if (!tables->table) { @@ -1500,9 +1535,9 @@ static int mysql_test_insert_select(Prepared_statement *stmt, first_local_table= (TABLE_LIST *)lex->select_lex.table_list.first; DBUG_ASSERT(first_local_table != 0); - res= select_like_statement_test(stmt, tables, - &mysql_insert_select_prepare_tester, - OPTION_SETUP_TABLES_DONE); + res= select_like_stmt_test_with_open_n_lock(stmt, tables, + &mysql_insert_select_prepare_tester, + OPTION_SETUP_TABLES_DONE); /* revert changes made by mysql_insert_select_prepare_tester */ lex->select_lex.table_list.first= (byte*) first_local_table; lex->select_lex.resolve_mode= SELECT_LEX::INSERT_MODE; From 1690bab938e46f5a8c018c05c17c88d4076b3b8b Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 17:08:45 +0400 Subject: [PATCH 070/124] a fix (bug #9029 Traditional: Wrong SQLSTATE returned for string truncation). sql/field.cc: a fix (bug #9029 Traditional: Wrong SQLSTATE returned for string truncation). Should issue ER_DATA_TOO_LONG in 'traditional' mode when data truncated. --- mysql-test/r/strict.result | 23 +++++++++++++++++++++-- mysql-test/t/strict.test | 27 +++++++++++++++++++++++++-- sql/field.cc | 20 ++++++++++++++++---- 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result index c28ea0fce02..18680b0f5a6 100644 --- a/mysql-test/r/strict.result +++ b/mysql-test/r/strict.result @@ -906,14 +906,14 @@ INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello '); INSERT INTO t1 (col1) VALUES ('hellobob'); ERROR 22001: Data too long for column 'col1' at row 1 INSERT INTO t1 (col2) VALUES ('hellobob'); -ERROR 01000: Data truncated for column 'col2' at row 1 +ERROR 22001: Data too long for column 'col2' at row 1 INSERT INTO t1 (col2) VALUES ('hello '); Warnings: Note 1265 Data truncated for column 'col2' at row 1 UPDATE t1 SET col1 ='hellobob' WHERE col1 ='he'; ERROR 22001: Data too long for column 'col1' at row 2 UPDATE t1 SET col2 ='hellobob' WHERE col2 ='he'; -ERROR 01000: Data truncated for column 'col2' at row 2 +ERROR 22001: Data too long for column 'col2' at row 2 INSERT IGNORE INTO t1 VALUES ('hellobob', 'hellobob'); Warnings: Warning 1265 Data truncated for column 'col1' at row 1 @@ -1011,3 +1011,22 @@ col1 col2 3 99 DROP TABLE t1; +set sql_mode='traditional'; +create table t1 (charcol char(255), varcharcol varchar(255), +binarycol binary(255), varbinarycol varbinary(255), tinytextcol tinytext, +tinyblobcol tinyblob); +insert into t1 (charcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'charcol' at row 1 +insert into t1 (varcharcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'varcharcol' at row 1 +insert into t1 (binarycol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'binarycol' at row 1 +insert into t1 (varbinarycol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'varbinarycol' at row 1 +insert into t1 (tinytextcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'tinytextcol' at row 1 +insert into t1 (tinyblobcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'tinyblobcol' at row 1 +select * from t1; +charcol varcharcol binarycol varbinarycol tinytextcol tinyblobcol +drop table t1; diff --git a/mysql-test/t/strict.test b/mysql-test/t/strict.test index d3928a623f4..8af0d632f7c 100644 --- a/mysql-test/t/strict.test +++ b/mysql-test/t/strict.test @@ -868,12 +868,12 @@ CREATE TABLE t1 (col1 CHAR(5), col2 VARCHAR(6)); INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello '); --error 1406 INSERT INTO t1 (col1) VALUES ('hellobob'); ---error 1265 +--error 1406 INSERT INTO t1 (col2) VALUES ('hellobob'); INSERT INTO t1 (col2) VALUES ('hello '); --error 1406 UPDATE t1 SET col1 ='hellobob' WHERE col1 ='he'; ---error 1265 +--error 1406 UPDATE t1 SET col2 ='hellobob' WHERE col2 ='he'; INSERT IGNORE INTO t1 VALUES ('hellobob', 'hellobob'); UPDATE IGNORE t1 SET col2 ='hellotrudy' WHERE col2 ='he'; @@ -939,3 +939,26 @@ INSERT IGNORE INTO t1 (col1) values (3); INSERT IGNORE INTO t1 () values (); SELECT * FROM t1; DROP TABLE t1; + +# +# Bug #9029 Traditional: Wrong SQLSTATE returned for string truncation +# + +set sql_mode='traditional'; +create table t1 (charcol char(255), varcharcol varchar(255), +binarycol binary(255), varbinarycol varbinary(255), tinytextcol tinytext, +tinyblobcol tinyblob); +--error 1406 +insert into t1 (charcol) values (repeat('x',256)); +--error 1406 +insert into t1 (varcharcol) values (repeat('x',256)); +--error 1406 +insert into t1 (binarycol) values (repeat('x',256)); +--error 1406 +insert into t1 (varbinarycol) values (repeat('x',256)); +--error 1406 +insert into t1 (tinytextcol) values (repeat('x',256)); +--error 1406 +insert into t1 (tinyblobcol) values (repeat('x',256)); +select * from t1; +drop table t1; diff --git a/sql/field.cc b/sql/field.cc index fd4d83a8b1c..a73c24d8f0d 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -5332,7 +5332,7 @@ int Field_varstring::store(const char *from,uint length,CHARSET_INFO *cs) uint32 not_used, copy_length; char buff[STRING_BUFFER_USUAL_SIZE]; String tmpstr(buff,sizeof(buff), &my_charset_bin); - enum MYSQL_ERROR::enum_warning_level level= MYSQL_ERROR::WARN_LEVEL_WARN; + bool lost_only_spaces= FALSE; /* Convert character set if necessary */ if (String::needs_conversion(length, cs, field_charset, ¬_used)) @@ -5370,11 +5370,18 @@ int Field_varstring::store(const char *from,uint length,CHARSET_INFO *cs) then don't reset level to NOTE. */ if (from == end && !error) - level= MYSQL_ERROR::WARN_LEVEL_NOTE; + lost_only_spaces= TRUE; error= 1; } if (error) - set_warning(level, WARN_DATA_TRUNCATED, 1); + { + if (lost_only_spaces) + set_warning(MYSQL_ERROR::WARN_LEVEL_NOTE, WARN_DATA_TRUNCATED, 1); + else if (table->in_use->abort_on_warning) + set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1); + else + set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + } return error; } @@ -5971,7 +5978,12 @@ int Field_blob::store(const char *from,uint length,CHARSET_INFO *cs) bmove(ptr+packlength,(char*) &from,sizeof(char*)); } if (error) - set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + { + if (table->in_use->abort_on_warning) + set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1); + else + set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + } return 0; } From 066e8900d63e85500b7f6a48b2cada93924aa600 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 15:16:16 +0200 Subject: [PATCH 071/124] InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE for the initial allocation sizes of arrays passed to rec_get_offsets(). innobase/btr/btr0btr.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/btr/btr0cur.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/btr/btr0sea.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/include/rem0rec.h: Define REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE. innobase/lock/lock0lock.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/page/page0cur.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/page/page0page.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/rem/rem0rec.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/row/row0ins.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/row/row0mysql.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/row/row0purge.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/row/row0row.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/row/row0sel.c: s/100/REC_OFFS_NORMAL_SIZE/ s/10/REC_OFFS_SMALL_SIZE/ innobase/row/row0undo.c: s/100/REC_OFFS_NORMAL_SIZE/ innobase/row/row0upd.c: s/100/REC_OFFS_NORMAL_SIZE/ s/10/REC_OFFS_SMALL_SIZE/ innobase/trx/trx0rec.c: s/100/REC_OFFS_NORMAL_SIZE/ --- innobase/btr/btr0btr.c | 8 ++++---- innobase/btr/btr0cur.c | 20 ++++++++++---------- innobase/btr/btr0sea.c | 12 ++++++------ innobase/include/rem0rec.h | 5 +++++ innobase/lock/lock0lock.c | 10 +++++----- innobase/page/page0cur.c | 14 +++++++------- innobase/page/page0page.c | 12 ++++++------ innobase/rem/rem0rec.c | 6 +++--- innobase/row/row0ins.c | 8 ++++---- innobase/row/row0mysql.c | 2 +- innobase/row/row0purge.c | 2 +- innobase/row/row0row.c | 8 ++++---- innobase/row/row0sel.c | 12 ++++++------ innobase/row/row0undo.c | 2 +- innobase/row/row0upd.c | 14 +++++++------- innobase/trx/trx0rec.c | 2 +- 16 files changed, 71 insertions(+), 66 deletions(-) diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c index 232d7f0f53b..1744fc36f4d 100644 --- a/innobase/btr/btr0btr.c +++ b/innobase/btr/btr0btr.c @@ -567,7 +567,7 @@ btr_page_get_father_for_rec( btr_cur_t cursor; rec_t* node_ptr; dict_index_t* index; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -2099,7 +2099,7 @@ btr_compress( btr_node_ptr_delete(tree, page, mtr); } else { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Replace the address of the old child node (= page) with the address of the merge page to the right */ @@ -2389,7 +2389,7 @@ btr_print_tree( mtr_t mtr; page_t* root; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -2491,7 +2491,7 @@ btr_index_rec_validate( ulint i; page_t* page; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index 6279ac79d3a..e093c911f22 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -275,7 +275,7 @@ btr_cur_search_to_nth_level( btr_search_t* info; #endif mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Currently, PAGE_CUR_LE is the only search mode used for searches @@ -579,7 +579,7 @@ btr_cur_open_at_index_side( ulint estimate; ulint savepoint; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -705,7 +705,7 @@ btr_cur_open_at_rnd_pos( ulint height; rec_t* node_ptr; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1255,7 +1255,7 @@ btr_cur_upd_lock_and_undo( if (!(flags & BTR_NO_LOCKING_FLAG)) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; err = lock_clust_rec_modify_check_and_lock(flags, rec, index, @@ -1431,7 +1431,7 @@ btr_cur_update_in_place( trx_t* trx; ibool was_delete_marked; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -2071,7 +2071,7 @@ btr_cur_parse_del_mark_set_clust_rec( if (!(flags & BTR_KEEP_SYS_FLAG)) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; row_upd_rec_sys_fields_in_recovery(rec, @@ -2117,7 +2117,7 @@ btr_cur_del_mark_set_clust_rec( rec_t* rec; trx_t* trx; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -2408,7 +2408,7 @@ btr_cur_optimistic_delete( ulint max_ins_size; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ibool no_compress_needed; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -2813,8 +2813,8 @@ btr_estimate_number_of_different_key_vals( ulint add_on; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets1_[100]; - ulint offsets2_[100]; + ulint offsets1_[REC_OFFS_NORMAL_SIZE]; + ulint offsets2_[REC_OFFS_NORMAL_SIZE]; ulint* offsets1 = offsets1_; ulint* offsets2 = offsets2_; *offsets1_ = (sizeof offsets1_) / sizeof *offsets1_; diff --git a/innobase/btr/btr0sea.c b/innobase/btr/btr0sea.c index 5f95937a2cb..97fdce2df75 100644 --- a/innobase/btr/btr0sea.c +++ b/innobase/btr/btr0sea.c @@ -420,7 +420,7 @@ btr_search_update_hash_ref( && (block->curr_n_bytes == info->n_bytes) && (block->curr_side == info->side)) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); @@ -553,7 +553,7 @@ btr_search_check_guess( ulint bytes; int cmp; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ibool success = FALSE; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1100,7 +1100,7 @@ btr_search_build_page_hash_index( rec_t** recs; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1344,7 +1344,7 @@ btr_search_update_hash_on_delete( ulint fold; dulint tree_id; ibool found; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; mem_heap_t* heap = NULL; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1456,7 +1456,7 @@ btr_search_update_hash_on_insert( ulint side; ibool locked = FALSE; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1596,7 +1596,7 @@ btr_search_validate(void) ibool ok = TRUE; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/include/rem0rec.h b/innobase/include/rem0rec.h index 6721fa85f16..ad7397fa140 100644 --- a/innobase/include/rem0rec.h +++ b/innobase/include/rem0rec.h @@ -36,6 +36,11 @@ in addition to the data and the offsets */ #define REC_STATUS_INFIMUM 2 #define REC_STATUS_SUPREMUM 3 +/* Number of elements that should be initially allocated for the +offsets[] array, first passed to rec_get_offsets() */ +#define REC_OFFS_NORMAL_SIZE 1/*00*/ +#define REC_OFFS_SMALL_SIZE 1/*0*/ + /********************************************************** The following function is used to get the offset of the next chained record on the same page. */ diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index 66a746111e8..512f487b3f5 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -4094,7 +4094,7 @@ lock_rec_print( ulint i; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -4593,7 +4593,7 @@ lock_rec_validate_page( ulint i; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -4843,7 +4843,7 @@ lock_rec_insert_check_and_lock( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -4992,7 +4992,7 @@ lock_sec_rec_modify_check_and_lock( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -5166,7 +5166,7 @@ lock_clust_rec_read_check_and_lock_alt( que_thr_t* thr) /* in: query thread */ { mem_heap_t* tmp_heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ulint ret; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/page/page0cur.c b/innobase/page/page0cur.c index 1b0df59d57f..7738f5a34f0 100644 --- a/innobase/page/page0cur.c +++ b/innobase/page/page0cur.c @@ -59,7 +59,7 @@ page_cur_try_search_shortcut( #endif ibool success = FALSE; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -231,7 +231,7 @@ page_cur_search_with_match( ulint dbg_matched_bytes; #endif mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -520,8 +520,8 @@ page_cur_insert_rec_write_log( { mem_heap_t* heap = NULL; - ulint cur_offs_[100]; - ulint ins_offs_[100]; + ulint cur_offs_[REC_OFFS_NORMAL_SIZE]; + ulint ins_offs_[REC_OFFS_NORMAL_SIZE]; ulint* cur_offs; ulint* ins_offs; @@ -677,7 +677,7 @@ page_cur_parse_insert_rec( ulint info_and_status_bits = 0; /* remove warning */ page_cur_t cursor; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1086,7 +1086,7 @@ page_copy_rec_list_end_to_created_page( ulint log_data_len; ibool comp = page_is_comp(page); mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1276,7 +1276,7 @@ page_cur_parse_delete_rec( if (page) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; rec_t* rec = page + offset; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/page/page0page.c b/innobase/page/page0page.c index eb8a11f113b..f3217e91f58 100644 --- a/innobase/page/page0page.c +++ b/innobase/page/page0page.c @@ -232,7 +232,7 @@ page_mem_alloc( if (rec) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -467,7 +467,7 @@ page_copy_rec_list_end_no_locks( page_cur_t cur2; rec_t* sup; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -568,7 +568,7 @@ page_copy_rec_list_start( page_cur_t cur2; rec_t* old_end; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -750,7 +750,7 @@ page_delete_rec_list_end( if ((size == ULINT_UNDEFINED) || (n_recs == ULINT_UNDEFINED)) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Calculate the sum of sizes and the number of records */ @@ -835,7 +835,7 @@ page_delete_rec_list_start( { page_cur_t cur1; ulint log_mode; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; mem_heap_t* heap = NULL; byte type; @@ -1331,7 +1331,7 @@ page_print_list( ulint count; ulint n_recs; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/rem/rem0rec.c b/innobase/rem/rem0rec.c index 94b2c692897..542c746209b 100644 --- a/innobase/rem/rem0rec.c +++ b/innobase/rem/rem0rec.c @@ -958,7 +958,7 @@ rec_convert_dtuple_to_rec( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -991,7 +991,7 @@ rec_copy_prefix_to_dtuple( ulint len; byte* buf = NULL; ulint i; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1407,7 +1407,7 @@ rec_print( return; } else { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec_print_new(file, rec, rec_get_offsets(rec, index, offsets_, diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c index 99a74501ade..fdbbe993ff0 100644 --- a/innobase/row/row0ins.c +++ b/innobase/row/row0ins.c @@ -1134,7 +1134,7 @@ row_ins_check_foreign_constraint( mtr_t mtr; trx_t* trx = thr_get_trx(thr); mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1559,7 +1559,7 @@ row_ins_scan_sec_index_for_duplicate( mtr_t mtr; trx_t* trx; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1697,7 +1697,7 @@ row_ins_duplicate_error_in_clust( ulint n_unique; trx_t* trx = thr_get_trx(thr); mem_heap_t*heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1899,7 +1899,7 @@ row_ins_index_entry_low( big_rec_t* big_rec = NULL; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index fd8c2b060ef..5009f017053 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -3673,7 +3673,7 @@ row_scan_and_check_index( ibool contains_null; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/row/row0purge.c b/innobase/row/row0purge.c index 659a13b42a9..5893e016011 100644 --- a/innobase/row/row0purge.c +++ b/innobase/row/row0purge.c @@ -101,7 +101,7 @@ row_purge_remove_clust_if_poss_low( mtr_t mtr; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = dict_table_get_first_index(node->table); diff --git a/innobase/row/row0row.c b/innobase/row/row0row.c index 4f080c22af3..a6d3f1d5ab0 100644 --- a/innobase/row/row0row.c +++ b/innobase/row/row0row.c @@ -203,7 +203,7 @@ row_build( byte* buf; ulint i; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index && rec && heap); @@ -297,7 +297,7 @@ row_rec_to_index_entry( ulint rec_len; byte* buf; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -379,7 +379,7 @@ row_build_row_ref( ulint clust_col_prefix_len; ulint i; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -473,7 +473,7 @@ row_build_row_ref_in_tuple( ulint clust_col_prefix_len; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index 16e2dc69e0b..8915d795451 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -79,8 +79,8 @@ row_sel_sec_rec_is_for_clust_rec( ulint i; dtype_t* cur_type; mem_heap_t* heap = NULL; - ulint clust_offsets_[100]; - ulint sec_offsets_[10]; + ulint clust_offsets_[REC_OFFS_NORMAL_SIZE]; + ulint sec_offsets_[REC_OFFS_SMALL_SIZE]; ulint* clust_offs = clust_offsets_; ulint* sec_offs = sec_offsets_; ibool is_equal = TRUE; @@ -626,7 +626,7 @@ row_sel_get_clust_rec( rec_t* old_vers; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -992,7 +992,7 @@ row_sel_try_search_shortcut( dict_index_t* index; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ulint ret; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1118,7 +1118,7 @@ row_sel( ulint found_flag; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -3039,7 +3039,7 @@ row_search_for_mysql( ulint next_offs; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/row/row0undo.c b/innobase/row/row0undo.c index 895303e361c..abe73cbe705 100644 --- a/innobase/row/row0undo.c +++ b/innobase/row/row0undo.c @@ -152,7 +152,7 @@ row_undo_search_clust_to_pcur( ibool ret; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; diff --git a/innobase/row/row0upd.c b/innobase/row/row0upd.c index d04e3c3aef1..3305724a89b 100644 --- a/innobase/row/row0upd.c +++ b/innobase/row/row0upd.c @@ -706,7 +706,7 @@ row_upd_build_sec_rec_difference_binary( upd_t* update; ulint n_diff; ulint i; - ulint offsets_[10]; + ulint offsets_[REC_OFFS_SMALL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -784,7 +784,7 @@ row_upd_build_difference_binary( ulint trx_id_pos; ibool extern_bit; ulint i; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1195,7 +1195,7 @@ row_upd_store_row( upd_t* update; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1396,7 +1396,7 @@ row_upd_clust_rec_by_insert( btr_cur = btr_pcur_get_btr_cur(pcur); if (node->state != UPD_NODE_INSERT_CLUSTERED) { - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; err = btr_cur_del_mark_set_clust_rec(BTR_NO_LOCKING_FLAG, @@ -1537,7 +1537,7 @@ row_upd_clust_rec( if (err == DB_SUCCESS && big_rec) { mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; rec_t* rec; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1637,7 +1637,7 @@ row_upd_clust_step( mtr_t mtr_buf; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; *offsets_ = (sizeof offsets_) / sizeof *offsets_; @@ -1995,7 +1995,7 @@ row_upd_in_place_in_select( btr_cur_t* btr_cur; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(sel_node->select_will_do_update); diff --git a/innobase/trx/trx0rec.c b/innobase/trx/trx0rec.c index 7b62137ba09..fcb7582ce73 100644 --- a/innobase/trx/trx0rec.c +++ b/innobase/trx/trx0rec.c @@ -1016,7 +1016,7 @@ trx_undo_report_row_operation( trx_rseg_t* rseg; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100]; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; *offsets_ = (sizeof offsets_) / sizeof *offsets_; From 5054fdd8347a35414215f8a43593f928ee295f48 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 15:38:09 +0200 Subject: [PATCH 072/124] rem0rec.h: Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE. innobase/include/rem0rec.h: Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE. --- innobase/include/rem0rec.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/innobase/include/rem0rec.h b/innobase/include/rem0rec.h index ad7397fa140..134c37c8030 100644 --- a/innobase/include/rem0rec.h +++ b/innobase/include/rem0rec.h @@ -38,8 +38,8 @@ in addition to the data and the offsets */ /* Number of elements that should be initially allocated for the offsets[] array, first passed to rec_get_offsets() */ -#define REC_OFFS_NORMAL_SIZE 1/*00*/ -#define REC_OFFS_SMALL_SIZE 1/*0*/ +#define REC_OFFS_NORMAL_SIZE 100 +#define REC_OFFS_SMALL_SIZE 10 /********************************************************** The following function is used to get the offset of the From db32cb17100f707c53cfe50a411e1dcd9813a9a1 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 16:42:43 +0200 Subject: [PATCH 073/124] InnoDB: Keep the "compact format" flag in SYS_TABLES.N_COLS instead of SYS_TABLES.MIX_LEN, because the latter was not initialized to zero in old MySQL 3.23 releases. This will break existing MySQL/InnoDB 5.0.3-bk databases for which SHOW TABLE STATUS displays Row_format=Compact. innobase/dict/dict0crea.c: Write the "compact format" flag to N_COLS instead of MIX_LEN. Remove corruption analysis for MIX_LEN, as it has been tracked down to MySQL 3.23.4x not initializing MIX_LEN. innobase/dict/dict0load.c: Read the "compact format" flag from N_COLS instead of MIX_LEN. --- innobase/dict/dict0crea.c | 17 +++-------------- innobase/dict/dict0load.c | 14 +++++++------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/innobase/dict/dict0crea.c b/innobase/dict/dict0crea.c index fda09feca6f..1f12386e413 100644 --- a/innobase/dict/dict0crea.c +++ b/innobase/dict/dict0crea.c @@ -63,8 +63,8 @@ dict_create_sys_tables_tuple( dfield = dtuple_get_nth_field(entry, 2); ptr = mem_heap_alloc(heap, 4); - mach_write_to_4(ptr, table->n_def); - + mach_write_to_4(ptr, table->n_def + | ((ulint) table->comp << 31)); dfield_set_data(dfield, ptr, 4); /* 5: TYPE -----------------------------*/ dfield = dtuple_get_nth_field(entry, 3); @@ -82,21 +82,10 @@ dict_create_sys_tables_tuple( dfield_set_data(dfield, ptr, 8); /* 7: MIX_LEN --------------------------*/ - /* Track corruption reported on mailing list Jan 14, 2005 */ - if (table->mix_len != 0 && table->mix_len != 0x80000000) { - fprintf(stderr, -"InnoDB: Error: mix_len is %lu in table %s\n", (ulong)table->mix_len, - table->name); - mem_analyze_corruption((byte*)&(table->mix_len)); - - ut_error; - } - dfield = dtuple_get_nth_field(entry, 5); ptr = mem_heap_alloc(heap, 4); - mach_write_to_4(ptr, (table->mix_len & 0x7fffffff) | - ((ulint) table->comp << 31)); + mach_write_to_4(ptr, table->mix_len); dfield_set_data(dfield, ptr, 4); /* 8: CLUSTER_NAME ---------------------*/ diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index b33111b1ff1..1622ffa5454 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -818,8 +818,10 @@ dict_load_table( field = rec_get_nth_field_old(rec, 4, &len); n_cols = mach_read_from_4(field); - /* table->comp will be initialized later, in this function */ - table = dict_mem_table_create(name, space, n_cols, FALSE); + /* The high-order bit of N_COLS is the "compact format" flag. */ + table = dict_mem_table_create(name, space, + n_cols & ~0x80000000UL, + !!(n_cols & 0x80000000UL)); table->ibd_file_missing = ibd_file_missing; @@ -844,14 +846,12 @@ dict_load_table( #endif } - /* The high-order bit of MIX_LEN is the "compact format" flag */ - field = rec_get_nth_field_old(rec, 7, &len); - table->comp = !!(mach_read_from_1(field) & 0x80); - if ((table->type == DICT_TABLE_CLUSTER) || (table->type == DICT_TABLE_CLUSTER_MEMBER)) { - table->mix_len = mach_read_from_4(field) & 0x7fffffff; + field = rec_get_nth_field_old(rec, 7, &len); + ut_a(len == 4); + table->mix_len = mach_read_from_4(field); } btr_pcur_close(&pcur); From 5aed41290a912118cd7488c5d9f9ce50c11a1aa0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 19:42:57 +0000 Subject: [PATCH 074/124] More portability fixes --- sql/sp.cc | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sql/sp.cc b/sql/sp.cc index 0343735f2a3..84169ab8172 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -337,15 +337,12 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp) static void sp_returns_type(THD *thd, String &result, sp_head *sp) { - struct { - TABLE table; - TABLE_SHARE share; - } dummy; + TABLE table; Field *field; - bzero(&dummy, sizeof(dummy)); - dummy.table.in_use= thd; - dummy.table.s = &dummy.share; - field= sp->make_field(0, 0, &dummy.table); + bzero(&table, sizeof(table)); + table.in_use= thd; + table.s = &table.share_not_to_be_used; + field= sp->make_field(0, 0, &table); field->sql_type(result); delete field; } From 33f9d926f4ddb57d0b5a5a99565cd261bf828ccf Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 21:13:46 +0100 Subject: [PATCH 075/124] Correct "make_win_src_distribution" to not introduce additional directory layers, adapt the Windows build files accordingly. VC++Files/tests/mysql_client_test.dsp: As the directory structure on Windows now resembles that on Unix (no more "tests/tests", by the correction in "make_win_src_distribution.sh"), the location of "mysql_client_test.*" has changed. Adapt the build tools accordingly. VC++Files/tests/mysql_client_test_ia64.dsp: As the directory structure on Windows now resembles that on Unix (no more "tests/tests", by the correction in "make_win_src_distribution.sh"), the location of "mysql_client_test.*" has changed. Adapt the build tools accordingly. scripts/make_win_src_distribution.sh: 1) The semantics of "cp -R src targ" depend on the (non)existence of "targ". By simply doing "$CP -R $i $BASE/$i", the directory hierarchy below $BASE differed from the source for each "$i" that already existed as a target directory. This is now prevented by checking the existence and adapting the command. 2) Comment where "$BASE" (the target directory) comes into existence. 3) Introduce an "abort" function as a start point for more sanity checks, use it. --- VC++Files/tests/mysql_client_test.dsp | 10 +++---- VC++Files/tests/mysql_client_test_ia64.dsp | 6 ++-- scripts/make_win_src_distribution.sh | 34 ++++++++++++++++------ 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/VC++Files/tests/mysql_client_test.dsp b/VC++Files/tests/mysql_client_test.dsp index 3d1e6728181..14873c8a94c 100644 --- a/VC++Files/tests/mysql_client_test.dsp +++ b/VC++Files/tests/mysql_client_test.dsp @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console !ELSEIF "$(CFG)" == "mysql_client_test - Win32 Release" @@ -76,8 +76,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console !ENDIF @@ -87,7 +87,7 @@ LINK32=link.exe # Name "mysql_client_test - Win32 Release" # Begin Source File -SOURCE=tests\mysql_client_test.c +SOURCE=mysql_client_test.c # End Source File # End Target # End Project diff --git a/VC++Files/tests/mysql_client_test_ia64.dsp b/VC++Files/tests/mysql_client_test_ia64.dsp index 6b4f29ed59f..f9dfbe5f027 100644 --- a/VC++Files/tests/mysql_client_test_ia64.dsp +++ b/VC++Files/tests/mysql_client_test_ia64.dsp @@ -48,16 +48,16 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\tests\mysql_client_test.exe" /machine:IA64 +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\mysql_client_test.exe" /machine:IA64 # SUBTRACT BASE LINK32 /pdb:none -# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib /out:"..\tests\mysql_client_test.exe" /machine:IA64 /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib /out:"..\mysql_client_test.exe" /machine:IA64 /machine:IA64 # SUBTRACT LINK32 /pdb:none # Begin Target # Name "mysql_client_test - WinIA64 Release" # Begin Source File -SOURCE=tests\mysql_client_test.c +SOURCE=mysql_client_test.c DEP_CPP_MYSQL=\ "..\include\config-netware.h"\ "..\include\config-os2.h"\ diff --git a/scripts/make_win_src_distribution.sh b/scripts/make_win_src_distribution.sh index b52cc3799aa..036ed6fcc93 100644 --- a/scripts/make_win_src_distribution.sh +++ b/scripts/make_win_src_distribution.sh @@ -15,13 +15,26 @@ DIRNAME="" OUTTAR="0" OUTZIP="0" +# +# An "abort" function taking a variable number of strings (one per line) +# + +abort() +{ + for line + do + echo "$line" + done + exit 1 +} + + # # This script must run from MySQL top directory # if [ ! -f scripts/make_win_src_distribution ]; then - echo "ERROR : You must run this script from the MySQL top-level directory" - exit 1 + abort "ERROR : You must run this script from the MySQL top-level directory" fi SOURCE=`pwd` @@ -30,9 +43,8 @@ SOURCE=`pwd` # if [ ! -f sql/sql_yacc.cc ]; then - echo "ERROR : Sorry, you must run this script after the complete build," - echo " hope you know what you are trying to do !!" - exit 1 + abort "ERROR : Sorry, you must run this script after the complete build," \ + " hope you know what you are trying to do !!" fi # @@ -86,9 +98,7 @@ parse_arguments() { --tar) OUTTAR=1 ;; --zip) OUTZIP=1 ;; --help) show_usage ;; - *) - echo "Unknown argument '$arg'" - exit 1 + *) abort "Unknown argument '$arg'" ;; esac done @@ -138,6 +148,7 @@ if [ -d $BASE ] ; then fi $CP -r $SOURCE/VC++Files $BASE +# This includes an implicit 'mkdir $BASE' ! # # Process version tags in InstallShield files @@ -310,7 +321,12 @@ do print_debug "Copying directory '$i'" if [ -d $i ] then - $CP -R $i $BASE/$i + if [ -d $BASE/$i ] + then + $CP -R $i $BASE + else + $CP -R $i $BASE/$i + fi fi done From 7c90fa7b2cb8131bfcf314c1e25538bd1062fa5d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 11 Mar 2005 02:17:03 +0300 Subject: [PATCH 076/124] Fix for BUG#8711: "<=>" may have true value for NULL arguments, so make Item_func_equal::not_null_tables() always return 0. mysql-test/r/join_outer.result: Testcase for BUG#8711 mysql-test/t/join_outer.test: Testcase for BUG#8711 sql/item_cmpfunc.h: Fix for BUG#8711: "<=>" may have true value for NULL arguments, i.e. it can accept NULL-complemented table rows. This differs from assumptions made in Item_func::not_null_tables(), so add Item_func_equal::not_null_tables(). Item_func_equal::not_null_tables_cache value doesn't make sense now, but we still let it be calculated (and ignore it) --- mysql-test/r/join_outer.result | 20 ++++++++++++++++++++ mysql-test/t/join_outer.test | 13 +++++++++++++ sql/item_cmpfunc.h | 1 + 3 files changed, 34 insertions(+) diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index 5778b2f9b72..d6ce93e632b 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -684,3 +684,23 @@ t1 ALL NULL NULL NULL NULL 3 t2 ALL NULL NULL NULL NULL 2 t3 ALL NULL NULL NULL NULL 2 drop table t1, t2, t3; +create table t1 ( +a int(11), +b char(10), +key (a) +); +insert into t1 (a) values (1),(2),(3),(4); +create table t2 (a int); +select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a); +a b a +1 NULL NULL +2 NULL NULL +3 NULL NULL +4 NULL NULL +select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a); +a b a +1 NULL NULL +2 NULL NULL +3 NULL NULL +4 NULL NULL +drop table t1,t2; diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index bed4d4b033b..f32cc9d56ac 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -450,3 +450,16 @@ select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 and b1 is explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 and b1 is null; drop table t1, t2, t3; + +# Test for BUG#8711 '<=>' was considered to be a NULL-rejecting predicate. +create table t1 ( + a int(11), + b char(10), + key (a) +); +insert into t1 (a) values (1),(2),(3),(4); +create table t2 (a int); + +select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a); +select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a); +drop table t1,t2; diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 8f1aa525190..a1977e76f67 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -78,6 +78,7 @@ public: Item_func_equal(Item *a,Item *b) :Item_bool_func2(a,b) { }; longlong val_int(); void fix_length_and_dec(); + table_map not_null_tables() const { return 0; } enum Functype functype() const { return EQUAL_FUNC; } enum Functype rev_functype() const { return EQUAL_FUNC; } cond_result eq_cmp_result() const { return COND_TRUE; } From 27a69b091e87cb7c406ae14b568bfb9d48a5db30 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 10 Mar 2005 19:42:52 -0600 Subject: [PATCH 077/124] Do-solaris-pkg: Many changes to improve error handling, and fix problem of multiple packaging processes trampling each other (32 & 64bit at the same time) Build-tools/Do-solaris-pkg: Many changes to improve error handling, and fix problem of multiple packaging processes trampling each other (32 & 64bit at the same time) --- Build-tools/Do-solaris-pkg | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Build-tools/Do-solaris-pkg b/Build-tools/Do-solaris-pkg index 685a1f0923b..8815033146c 100644 --- a/Build-tools/Do-solaris-pkg +++ b/Build-tools/Do-solaris-pkg @@ -14,19 +14,17 @@ $pkginfo = "pkginfo"; ($gid ,$pkg ,$uid ,$userInfo ,$email ,$quota ,$group ,$passwd ,$category ,$userHome ,$vendor ,$loginShell ,$pstamp ,$basedir)=(); -$fullname = shift @ARGV; -$fullname or die "No package name was specified"; --d $fullname or die "That directory is not present!"; +$tarball= $fullname= shift @ARGV; +$fullname=~ s/.*(mysql.*)\.tar\.gz/$1/; +$workdir= $$; +chomp ($parent_workdir= `pwd`); -$fullname =~ s,/+$,,; # Remove ending slash if any +$hostname= ($fullname=~ m/^.+-64bit$/) ? $hostname . "-64bit" : $hostname; +$pkgdir= "$ENV{'HOME'}/$hostname"; -$pkgdir= `cd ../$hostname; pwd`; -$pwd = `pwd`; -if ($pwd =~ '\/usr\/local') { - $pwd = $`; -} -die "Wrong location, please cd to /usr/local/ and run again.\n" - if ($pwd eq ""); +mkdir $workdir or die "Can't make workdir: $!\n"; +chdir $workdir or die "Can't change to workdir: $!\n"; +system ("tar xzvf $tarball") == 0 or die "Can't untar: $!\n"; system ("$find . -print | $pkgproto > $temp"); open (PREPROTO,"<$temp") or die "Unable to read prototype information ($!)\n"; @@ -57,8 +55,9 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n"; # Now we can start building the package # # First get some info +$fullname =~ s,/+$,,; # Remove ending slash if any -$fullname =~ /^((mysql)-.+)-([\d\.]+)-.+$/ +$fullname =~ /^((mysql)-\w+-?\w+?)-([\d\.]+\w?)-.+$/ or die "This name is not what I expected - \"$fullname\""; $default{"name"}= $2; @@ -137,10 +136,11 @@ system ("gzip /tmp/$packagename"); # Clean-up the spool area system ("(cd /var/spool/pkg; rm -rf $pkg)"); # Clean-up the ~/packaging/ area -system ("(rm -rf mysql*)"); unlink $pkginfo; unlink $prototype; -system ("mv /tmp/${packagename}.gz $pkgdir"); +chdir $parent_workdir or die "Can't change to parent workdir '$parent_workdir': $!\n"; +system ("rm -rf $workdir") == 0 or die "Can't remove the working dir: $!\n"; +system ("mv /tmp/${packagename}.gz $pkgdir") == 0 or die "Can't move the finished package out of /tmp: $!\n"; print "Done. (~/$hostname/$packagename.gz)\n"; # The subroutines sub chkvar { From 335f4fd88601cd7865aa3594f18834826bb3302f Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 11 Mar 2005 11:08:27 +0100 Subject: [PATCH 078/124] Keep the Perl version of 'mysql-test-run' in sync with the shell script. mysql-test/lib/mtr_report.pl: Keep the Perl version in sync with the shell script so that 'Do-compile' will call PS and ES tests even after some previous test failures. (See previous change to 'mysql-test-run.sh' and 'Do-compile'.) --- mysql-test/lib/mtr_report.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl index 3729ff512ee..9947fed9d27 100644 --- a/mysql-test/lib/mtr_report.pl +++ b/mysql-test/lib/mtr_report.pl @@ -161,7 +161,7 @@ sub mtr_report_stats ($) { { my $ratio= $tot_passed * 100 / $tot_tests; printf "Failed $tot_failed/$tot_tests tests, " . - "%.2f\% successful.\n\n", $ratio; + "%.2f\% were successful.\n\n", $ratio; print "The log files in var/log may give you some hint\n", "of what when wrong.\n", From a44711db14c617ef50c885992074a2506e62ab45 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 11 Mar 2005 17:24:43 +0200 Subject: [PATCH 079/124] row0sel.c: row_sel_store_mysql_rec(): Remove unused variable "index". innobase/row/row0sel.c: row_sel_store_mysql_rec(): Remove unused variable "index". --- innobase/row/row0sel.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index 8915d795451..54dfbe997ce 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -2352,16 +2352,10 @@ row_sel_store_mysql_rec( byte* blob_buf; int pad_char; ulint i; - dict_index_t* index; ut_ad(prebuilt->mysql_template); ut_ad(rec_offs_validate(rec, NULL, offsets)); - index = prebuilt->index; - if (prebuilt->need_to_access_clustered) { - index = dict_table_get_first_index(index->table); - } - if (prebuilt->blob_heap != NULL) { mem_heap_free(prebuilt->blob_heap); prebuilt->blob_heap = NULL; From 7a053c7d6066ec2efdbeea09438ec89b3a788d0a Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 11 Mar 2005 21:10:41 +0100 Subject: [PATCH 080/124] BUG#9101 - RELEASE/ROLLBACK TO SAVEPOINT did not forget savepoints correctly mysql-test/r/innodb.result: more savepoint tests mysql-test/t/innodb.test: more savepoint tests --- mysql-test/r/innodb.result | 8 +++++++- mysql-test/t/innodb.test | 11 ++++++++++- sql/sql_parse.cc | 24 ++++++++++++------------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 2c285efafaf..be73f6986ac 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -262,7 +262,11 @@ n 5 6 7 -rollback to savepoint `savept2`; +savepoint savept3; +rollback to savepoint savept2; +rollback to savepoint savept3; +ERROR 42000: SAVEPOINT savept3 does not exist +rollback to savepoint savept2; release savepoint `my_savepoint`; select n from t1; n @@ -272,6 +276,8 @@ n 7 rollback to savepoint `my_savepoint`; ERROR 42000: SAVEPOINT my_savepoint does not exist +rollback to savepoint savept2; +ERROR 42000: SAVEPOINT savept2 does not exist insert into t1 values (8); savepoint sv; commit; diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 3c9752bb928..91a2b5b0e54 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -130,17 +130,26 @@ insert into t1 values (6); insert into t1 values (4); select n from t1; set autocommit=0; +# +# savepoints +# begin; savepoint `my_savepoint`; insert into t1 values (7); savepoint `savept2`; insert into t1 values (3); select n from t1; -rollback to savepoint `savept2`; +savepoint savept3; +rollback to savepoint savept2; +--error 1305 +rollback to savepoint savept3; +rollback to savepoint savept2; release savepoint `my_savepoint`; select n from t1; -- error 1305 rollback to savepoint `my_savepoint`; +--error 1305 +rollback to savepoint savept2; insert into t1 values (8); savepoint sv; commit; diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 03e6d91507c..d5ed8c8efb0 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3805,21 +3805,21 @@ unsent_create_error: break; case SQLCOM_RELEASE_SAVEPOINT: { - SAVEPOINT **sv; - for (sv=&thd->transaction.savepoints; *sv; sv=&(*sv)->prev) + SAVEPOINT *sv; + for (sv=thd->transaction.savepoints; sv; sv=sv->prev) { if (my_strnncoll(system_charset_info, (uchar *)lex->ident.str, lex->ident.length, - (uchar *)(*sv)->name, (*sv)->length) == 0) + (uchar *)sv->name, sv->length) == 0) break; } - if (*sv) + if (sv) { - if (ha_release_savepoint(thd, *sv)) + if (ha_release_savepoint(thd, sv)) res= TRUE; // cannot happen else send_ok(thd); - *sv=(*sv)->prev; + thd->transaction.savepoints=sv->prev; } else my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "SAVEPOINT", lex->ident.str); @@ -3827,17 +3827,17 @@ unsent_create_error: } case SQLCOM_ROLLBACK_TO_SAVEPOINT: { - SAVEPOINT **sv; - for (sv=&thd->transaction.savepoints; *sv; sv=&(*sv)->prev) + SAVEPOINT *sv; + for (sv=thd->transaction.savepoints; sv; sv=sv->prev) { if (my_strnncoll(system_charset_info, (uchar *)lex->ident.str, lex->ident.length, - (uchar *)(*sv)->name, (*sv)->length) == 0) + (uchar *)sv->name, sv->length) == 0) break; } - if (*sv) + if (sv) { - if (ha_rollback_to_savepoint(thd, *sv)) + if (ha_rollback_to_savepoint(thd, sv)) res= TRUE; // cannot happen else { @@ -3848,7 +3848,7 @@ unsent_create_error: ER(ER_WARNING_NOT_COMPLETE_ROLLBACK)); send_ok(thd); } - *sv=(*sv)->prev; + thd->transaction.savepoints=sv; } else my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "SAVEPOINT", lex->ident.str); From fe482074d9b28ddbdca45a06f7532b651512dbc0 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 11 Mar 2005 15:06:03 -0800 Subject: [PATCH 081/124] Update tests and test results after merge, disable broken NDB tests mysql-test/r/information_schema.result: Update test result mysql-test/r/query_cache.result: Reset query_cache_type for test mysql-test/t/query_cache.test: Update test result mysql-test/t/ndb_alter_table.disabled: ***MISSING WEAVE*** mysql-test/t/ndb_autodiscover.disabled: ***MISSING WEAVE*** mysql-test/t/ndb_autodiscover2.disabled: ***MISSING WEAVE*** mysql-test/t/ndb_cache_multi.disabled: ***MISSING WEAVE*** mysql-test/t/ndb_cache_multi2.disabled: ***MISSING WEAVE*** mysql-test/t/ndb_multi.disabled: ***MISSING WEAVE*** mysql-test/t/ndb_restore.disabled: ***MISSING WEAVE*** --- mysql-test/r/information_schema.result | 2 +- mysql-test/r/query_cache.result | 1 + mysql-test/t/query_cache.test | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index e1270168493..e65924bfcbe 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -505,7 +505,7 @@ proc body blob proc definer char(77) proc created timestamp proc modified timestamp -proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO') +proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') proc comment char(64) drop table t115; create procedure p108 () begin declare c cursor for select data_type diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index 3becb9546e2..6863534b2d8 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -957,6 +957,7 @@ drop table t1; select table_name from information_schema.tables where table_schema="test"; table_name +SET SESSION query_cache_type = 1; set global query_cache_size=1024*1024; flush query cache; create table t1 ( a int ); diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index f393ce69cfa..6a3d22d2695 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -698,6 +698,7 @@ drop table t1; select table_name from information_schema.tables where table_schema="test"; # Bug #8480: REPAIR TABLE needs to flush the table from the query cache +SET SESSION query_cache_type = 1; set global query_cache_size=1024*1024; flush query cache; create table t1 ( a int ); From 6b98e786e61cb60ba591a42f77475def25e51e21 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 12 Mar 2005 20:09:54 +0100 Subject: [PATCH 082/124] if no xa recovery (or after it): warning on startup if prepared foreign xids error on startup if prepared our xids temporarily: always rollback prepared our xids instead of an error sql/mysql_priv.h: opt_tc_log_file made extern sql/mysqld.cc: opt_tc_log_file made extern always call ha_recover() even if no previous crash was detected --- sql/handler.cc | 64 ++++++++++++++++++++++++++++++++++++++++++++---- sql/mysql_priv.h | 2 +- sql/mysqld.cc | 9 +++++-- 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index 7cb0ba3bee2..e185ae0f0a0 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -744,16 +744,48 @@ int ha_commit_or_rollback_by_xid(LEX_STRING *ident, bool commit) /* recover() step of xa + + NOTE + there are three modes of operation: + + - automatic recover after a crash + in this case commit_list != 0, tc_heuristic_recover==0 + all xids from commit_list are committed, others are rolled back + + - manual (heuristic) recover + in this case commit_list==0, tc_heuristic_recover != 0 + DBA has explicitly specified that all prepared transactions should + be committed (or rolled back). + + - no recovery (MySQL did not detect a crash) + in this case commit_list==0, tc_heuristic_recover == 0 + there should be no prepared transactions in this case. */ int ha_recover(HASH *commit_list) { - int len, got; + int len, got, found_foreign_xids=0, found_my_xids=0; handlerton **ht= handlertons, **end_ht=ht+total_ha; XID *list=0; + bool dry_run=(commit_list==0 && tc_heuristic_recover==0); DBUG_ENTER("ha_recover"); - DBUG_ASSERT(total_ha_2pc); - DBUG_ASSERT(commit_list || tc_heuristic_recover); + /* commit_list and tc_heuristic_recover cannot be set both */ + DBUG_ASSERT(commit_list==0 || tc_heuristic_recover==0); + /* if either is set, total_ha_2pc must be set too */ + DBUG_ASSERT((commit_list==0 && tc_heuristic_recover==0) || total_ha_2pc>0); + + if (total_ha_2pc == 0) + DBUG_RETURN(0); + +#ifndef WILL_BE_DELETED_LATER + /* + for now, only InnoDB supports 2pc. It means we can always safely + rollback all pending transactions, without risking inconsistent data + */ + DBUG_ASSERT(total_ha_2pc == opt_bin_log+1); // only InnoDB and binlog + tc_heuristic_recover= TC_HEURISTIC_RECOVER_ROLLBACK; // forcing ROLLBACK + dry_run=FALSE; +#endif for (len= MAX_XID_LIST_SIZE ; list==0 && len > MIN_XID_LIST_SIZE; len/=2) { @@ -761,7 +793,7 @@ int ha_recover(HASH *commit_list) } if (!list) { - my_error(ER_OUTOFMEMORY, MYF(0), len); + sql_print_error(ER(ER_OUTOFMEMORY), len*sizeof(XID)); DBUG_RETURN(1); } @@ -775,7 +807,16 @@ int ha_recover(HASH *commit_list) { my_xid x=list[i].get_my_xid(); if (!x) // not "mine" - that is generated by external TM + { + found_foreign_xids++; continue; + } + if (dry_run) + { + found_my_xids++; + continue; + } + // recovery mode if (commit_list ? hash_search(commit_list, (byte *)&x, sizeof(x)) != 0 : tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT) @@ -788,6 +829,19 @@ int ha_recover(HASH *commit_list) } } my_free((gptr)list, MYF(0)); + if (found_foreign_xids) + sql_print_warning("Found %d prepared XA transactions", found_foreign_xids); + if (dry_run && found_my_xids) + { + sql_print_error("Found %d prepared transactions! It means that mysqld was " + "not shut down properly last time and critical recovery " + "information (last binlog or %s file) was manually deleted " + "after a crash. You have to start mysqld with " + "--tc-heuristic-recover switch to commit or rollback " + "pending transactions.", + found_my_xids, opt_tc_log_file); + DBUG_RETURN(1); + } DBUG_RETURN(0); } @@ -1385,7 +1439,7 @@ ulonglong handler::get_auto_increment() /* Print error that we got from handler function - NOTE: + NOTE In case of delete table it's only safe to use the following parts of the 'table' structure: table->s->path diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 7e58f7bf728..e43ec502da0 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -1033,7 +1033,7 @@ extern Le_creator le_creator; extern char language[FN_REFLEN], reg_ext[FN_EXTLEN]; extern char glob_hostname[FN_REFLEN], mysql_home[FN_REFLEN]; extern char pidfile_name[FN_REFLEN], system_time_zone[30], *opt_init_file; -extern char log_error_file[FN_REFLEN]; +extern char log_error_file[FN_REFLEN], *opt_tc_log_file; extern double last_query_cost; extern double log_10[32]; extern ulonglong log_10_int[20]; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 8271f8fa473..5c96de1d73a 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -366,7 +366,7 @@ char* log_error_file_ptr= log_error_file; char mysql_real_data_home[FN_REFLEN], language[FN_REFLEN], reg_ext[FN_EXTLEN], mysql_charsets_dir[FN_REFLEN], *mysqld_user,*mysqld_chroot, *opt_init_file, - *opt_init_connect, *opt_init_slave, + *opt_init_connect, *opt_init_slave, *opt_tc_log_file, def_ft_boolean_syntax[sizeof(ft_boolean_syntax)]; const char *opt_date_time_formats[3]; @@ -457,7 +457,7 @@ static my_bool opt_do_pstack, opt_noacl, opt_bootstrap, opt_myisam_log; static int cleanup_done; static ulong opt_specialflag, opt_myisam_block_size; static char *opt_logname, *opt_update_logname, *opt_binlog_index_name; -static char *opt_slow_logname, *opt_tc_log_file, *opt_tc_heuristic_recover; +static char *opt_slow_logname, *opt_tc_heuristic_recover; static char *mysql_home_ptr, *pidfile_name_ptr; static char **defaults_argv; static char *opt_bin_logname; @@ -2800,6 +2800,11 @@ server."); unireg_abort(1); } + if (ha_recover(0)) + { + unireg_abort(1); + } + if (opt_bin_log && mysql_bin_log.open(opt_bin_logname, LOG_BIN, 0, WRITE_CACHE, 0, max_binlog_size, 0)) unireg_abort(1); From 7cecea527d5fcfa7c12c55ee3c95347ee8f43b15 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 12 Mar 2005 23:31:52 -0800 Subject: [PATCH 083/124] join_outer.result, join_outer.test: Added a test case for bug #9017. item_cmpfunc.h: A wrong not_null_tables method for Item_cond_xor caused a conversion of a left join into an inner join that was not valid. sql/item_cmpfunc.h: A wrong not_null_tables method for Item_cond_xor caused a conversion of a left join into an inner join that was not valid. mysql-test/t/join_outer.test: Added a test case for bug #9017. mysql-test/r/join_outer.result: Added a test case for bug #9017. --- mysql-test/r/join_outer.result | 22 ++++++++++++++++++++++ mysql-test/t/join_outer.test | 19 +++++++++++++++++++ sql/item_cmpfunc.h | 1 + 3 files changed, 42 insertions(+) diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index 09a55ba2054..7981fc9c733 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -836,3 +836,25 @@ id text_id text_data 1 0 0-SV 2 10 10-SV DROP TABLE invoice, text_table; +CREATE TABLE t1 (a int PRIMARY KEY, b int); +CREATE TABLE t2 (a int PRIMARY KEY, b int); +INSERT INTO t1 VALUES (1,1), (2,1), (3,1), (4,2); +INSERT INTO t2 VALUES (1,2), (2,2); +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a; +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +4 2 NULL NULL +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1; +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a +WHERE t1.b=1 XOR (NOT ISNULL(t2.a) AND t2.b=1); +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +DROP TABLE t1,t2; diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 8096176a744..2ed7086746f 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -595,3 +595,22 @@ SELECT invoice.id, invoice.text_id, text_table.text_data WHERE (invoice.id LIKE '%' OR text_table.text_data LIKE '%'); DROP TABLE invoice, text_table; + +# +# Test for bug #9017: left join mistakingly converted to inner join +# + +CREATE TABLE t1 (a int PRIMARY KEY, b int); +CREATE TABLE t2 (a int PRIMARY KEY, b int); + +INSERT INTO t1 VALUES (1,1), (2,1), (3,1), (4,2); +INSERT INTO t2 VALUES (1,2), (2,2); + +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a; +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1; +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a + WHERE t1.b=1 XOR (NOT ISNULL(t2.a) AND t2.b=1); + +DROP TABLE t1,t2; + + diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 8e8e4e922c0..7c48854850e 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -1013,6 +1013,7 @@ public: enum Type type() const { return FUNC_ITEM; } longlong val_int(); const char *func_name() const { return "xor"; } + table_map not_null_tables() const { return and_tables_cache; } }; From dad8e1f59a30e6bdc45bf57d6b3404313d8b2b25 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 01:07:01 -0800 Subject: [PATCH 084/124] join_outer.test: Correction after manual merge. mysql-test/t/join_outer.test: Correction after manual merge. --- mysql-test/t/join_outer.test | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 87e31d7affc..f87233bff12 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -588,6 +588,12 @@ INSERT INTO t2 VALUES("0", "SV", "0-SV"); INSERT INTO t2 VALUES("10", "EN", "10-EN"); INSERT INTO t2 VALUES("10", "SV", "10-SV"); +SELECT t1.id, t1.text_id, t2.text_data + FROM t1 LEFT JOIN t2 + ON t1.text_id = t2.text_id + AND t2.language_id = 'SV' + WHERE (t1.id LIKE '%' OR t2.text_data LIKE '%'); + DROP TABLE t1, t2; # Test for bug #5896 From a569b08375672b561bd1d15a66fc1dafa69c72a5 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 12:49:39 +0200 Subject: [PATCH 085/124] set_var.cc, mysqld.cc, ha_innodb.cc, sql_class.h: Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log trx0trx.h, trx0undo.c, trx0trx.c, trx0roll.c: Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit innobase/trx/trx0roll.c: Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit innobase/trx/trx0trx.c: Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit innobase/trx/trx0undo.c: Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit innobase/include/trx0trx.h: Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit sql/sql_class.h: Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log sql/ha_innodb.cc: Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log sql/mysqld.cc: Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log sql/set_var.cc: Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log --- innobase/include/trx0trx.h | 5 ++ innobase/trx/trx0roll.c | 14 ++--- innobase/trx/trx0trx.c | 104 +++++++++++++++++++++++++------------ innobase/trx/trx0undo.c | 31 +++++++---- sql/ha_innodb.cc | 15 ++++++ sql/mysqld.cc | 6 +++ sql/set_var.cc | 4 ++ sql/sql_class.h | 1 + 8 files changed, 127 insertions(+), 53 deletions(-) diff --git a/innobase/include/trx0trx.h b/innobase/include/trx0trx.h index 61d372a824a..9db69261468 100644 --- a/innobase/include/trx0trx.h +++ b/innobase/include/trx0trx.h @@ -369,6 +369,11 @@ struct trx_struct{ XID xid; /* X/Open XA transaction identification to identify a transaction branch */ + ibool support_xa; /* normally we do the XA two-phase + commit steps, but by setting this to + FALSE, one can save CPU time and about + 150 bytes in the undo log size as then + we skip XA steps */ dulint no; /* transaction serialization number == max trx id when the transaction is moved to COMMITTED_IN_MEMORY state */ diff --git a/innobase/trx/trx0roll.c b/innobase/trx/trx0roll.c index 4c68e0a0dd3..69f7a99187f 100644 --- a/innobase/trx/trx0roll.c +++ b/innobase/trx/trx0roll.c @@ -441,16 +441,8 @@ loop: trx = UT_LIST_GET_NEXT(trx_list, trx); } else if (trx->conc_state == TRX_PREPARED) { - /* Roll back all prepared transactions if - innobase_force_recovery > 0 in my.cnf */ - - if (srv_force_recovery > 0) { - trx->conc_state = TRX_ACTIVE; - break; - } else { - trx->sess = trx_dummy_sess; - trx = UT_LIST_GET_NEXT(trx_list, trx); - } + trx->sess = trx_dummy_sess; + trx = UT_LIST_GET_NEXT(trx_list, trx); } else { break; } @@ -461,7 +453,7 @@ loop: if (trx == NULL) { ut_print_timestamp(stderr); fprintf(stderr, - " InnoDB: Rollback of uncommitted transactions completed\n"); + " InnoDB: Rollback of non-prepared transactions completed\n"); mem_heap_free(heap); diff --git a/innobase/trx/trx0trx.c b/innobase/trx/trx0trx.c index ad82560e26c..614058e6860 100644 --- a/innobase/trx/trx0trx.c +++ b/innobase/trx/trx0trx.c @@ -93,6 +93,8 @@ trx_create( trx->id = ut_dulint_zero; trx->no = ut_dulint_max; + trx->support_xa = TRUE; + trx->check_foreigns = TRUE; trx->check_unique_secondary = TRUE; @@ -453,9 +455,15 @@ trx_lists_init_at_db_start(void) ut_dulint_get_high(trx->id), ut_dulint_get_low(trx->id)); - trx->conc_state = TRX_ACTIVE; + if (srv_force_recovery == 0) { - /* trx->conc_state = TRX_PREPARED;*/ + trx->conc_state = TRX_PREPARED; + } else { + fprintf(stderr, +"InnoDB: Since innodb_force_recovery > 0, we will rollback it anyway.\n"); + + trx->conc_state = TRX_ACTIVE; + } } else { trx->conc_state = TRX_COMMITTED_IN_MEMORY; @@ -511,15 +519,20 @@ trx_lists_init_at_db_start(void) commit or abort decision from MySQL */ if (undo->state == TRX_UNDO_PREPARED) { - fprintf(stderr, + fprintf(stderr, "InnoDB: Transaction %lu %lu was in the XA prepared state.\n", - ut_dulint_get_high(trx->id), - ut_dulint_get_low(trx->id)); + ut_dulint_get_high(trx->id), + ut_dulint_get_low(trx->id)); + + if (srv_force_recovery == 0) { + + trx->conc_state = TRX_PREPARED; + } else { + fprintf(stderr, +"InnoDB: Since innodb_force_recovery > 0, we will rollback it anyway.\n"); trx->conc_state = TRX_ACTIVE; - - /* trx->conc_state = - TRX_PREPARED; */ + } } else { trx->conc_state = TRX_COMMITTED_IN_MEMORY; @@ -823,9 +836,6 @@ trx_commit_off_kernel( trx->read_view = NULL; } -/* fprintf(stderr, "Trx %lu commit finished\n", - ut_dulint_get_low(trx->id)); */ - if (must_flush_log) { mutex_exit(&kernel_mutex); @@ -869,14 +879,15 @@ trx_commit_off_kernel( /* Do nothing */ } else if (srv_flush_log_at_trx_commit == 1) { if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) { - /* Write the log but do not flush it to disk */ + /* Write the log but do not flush it to disk */ - log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, FALSE); + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, + FALSE); } else { - /* Write the log to the log files AND flush - them to disk */ + /* Write the log to the log files AND flush + them to disk */ - log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); } } else if (srv_flush_log_at_trx_commit == 2) { @@ -1747,12 +1758,11 @@ Prepares a transaction. */ void trx_prepare_off_kernel( -/*==================*/ +/*===================*/ trx_t* trx) /* in: transaction */ { page_t* update_hdr_page; trx_rseg_t* rseg; - trx_undo_t* undo; ibool must_flush_log = FALSE; dulint lsn; mtr_t mtr; @@ -1779,19 +1789,18 @@ trx_prepare_off_kernel( mutex_enter(&(rseg->mutex)); if (trx->insert_undo != NULL) { + + /* It is not necessary to obtain trx->undo_mutex here + because only a single OS thread is allowed to do the + transaction prepare for this transaction. */ + trx_undo_set_state_at_prepare(trx, trx->insert_undo, &mtr); } - undo = trx->update_undo; - - if (undo) { - /* It is not necessary to obtain trx->undo_mutex here - because only a single OS thread is allowed to do the - transaction prepare for this transaction. */ - + if (trx->update_undo) { update_hdr_page = trx_undo_set_state_at_prepare(trx, - undo, &mtr); + trx->update_undo, &mtr); } mutex_exit(&(rseg->mutex)); @@ -1815,17 +1824,48 @@ trx_prepare_off_kernel( /*--------------------------------------*/ if (must_flush_log) { + /* Depending on the my.cnf options, we may now write the log + buffer to the log files, making the prepared state of the + transaction durable if the OS does not crash. We may also + flush the log files to disk, making the prepared state of the + transaction durable also at an OS crash or a power outage. + + The idea in InnoDB's group prepare is that a group of + transactions gather behind a trx doing a physical disk write + to log files, and when that physical write has been completed, + one of those transactions does a write which prepares the whole + group. Note that this group prepare will only bring benefit if + there are > 2 users in the database. Then at least 2 users can + gather behind one doing the physical log write to disk. + + TODO: find out if MySQL holds some mutex when calling this. + That would spoil our group prepare algorithm. */ mutex_exit(&kernel_mutex); - - /* Write the log to the log files AND flush them to disk */ - /*-------------------------------------*/ + if (srv_flush_log_at_trx_commit == 0) { + /* Do nothing */ + } else if (srv_flush_log_at_trx_commit == 1) { + if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) { + /* Write the log but do not flush it to disk */ - log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, + FALSE); + } else { + /* Write the log to the log files AND flush + them to disk */ + + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); + } + } else if (srv_flush_log_at_trx_commit == 2) { + + /* Write the log but do not flush it to disk */ + + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, FALSE); + } else { + ut_error; + } - /*-------------------------------------*/ - mutex_enter(&kernel_mutex); } } diff --git a/innobase/trx/trx0undo.c b/innobase/trx/trx0undo.c index 88185973dfc..bb314dd35e9 100644 --- a/innobase/trx/trx0undo.c +++ b/innobase/trx/trx0undo.c @@ -596,7 +596,7 @@ trx_undo_read_xid( } /******************************************************************* -Adds the XA XID after an undo log old-style header. */ +Adds space for the XA XID after an undo log old-style header. */ static void trx_undo_header_add_space_for_xid( @@ -1488,6 +1488,7 @@ trx_undo_create( /*============*/ /* out: undo log object, NULL if did not succeed: out of space */ + trx_t* trx, /* in: transaction */ trx_rseg_t* rseg, /* in: rollback segment memory copy */ ulint type, /* in: type of the log: TRX_UNDO_INSERT or TRX_UNDO_UPDATE */ @@ -1530,7 +1531,10 @@ trx_undo_create( offset = trx_undo_header_create(undo_page, trx_id, mtr); - trx_undo_header_add_space_for_xid(undo_page, undo_page + offset, mtr); + if (trx->support_xa) { + trx_undo_header_add_space_for_xid(undo_page, + undo_page + offset, mtr); + } undo = trx_undo_mem_create(rseg, id, type, trx_id, xid, page_no, offset); @@ -1547,6 +1551,7 @@ trx_undo_reuse_cached( /*==================*/ /* out: the undo log memory object, NULL if none cached */ + trx_t* trx, /* in: transaction */ trx_rseg_t* rseg, /* in: rollback segment memory object */ ulint type, /* in: type of the log: TRX_UNDO_INSERT or TRX_UNDO_UPDATE */ @@ -1597,16 +1602,22 @@ trx_undo_reuse_cached( if (type == TRX_UNDO_INSERT) { offset = trx_undo_insert_header_reuse(undo_page, trx_id, mtr); - trx_undo_header_add_space_for_xid(undo_page, undo_page + offset, - mtr); + + if (trx->support_xa) { + trx_undo_header_add_space_for_xid(undo_page, + undo_page + offset, mtr); + } } else { ut_a(mach_read_from_2(undo_page + TRX_UNDO_PAGE_HDR + TRX_UNDO_PAGE_TYPE) == TRX_UNDO_UPDATE); offset = trx_undo_header_create(undo_page, trx_id, mtr); - trx_undo_header_add_space_for_xid(undo_page, undo_page + offset, - mtr); + + if (trx->support_xa) { + trx_undo_header_add_space_for_xid(undo_page, + undo_page + offset, mtr); + } } trx_undo_mem_init_for_reuse(undo, trx_id, xid, offset); @@ -1674,11 +1685,11 @@ trx_undo_assign_undo( #endif /* UNIV_SYNC_DEBUG */ mutex_enter(&(rseg->mutex)); - undo = trx_undo_reuse_cached(rseg, type, trx->id, &trx->xid, &mtr); - + undo = trx_undo_reuse_cached(trx, rseg, type, trx->id, &trx->xid, + &mtr); if (undo == NULL) { - undo = trx_undo_create(rseg, type, trx->id, &trx->xid, &mtr); - + undo = trx_undo_create(trx, rseg, type, trx->id, &trx->xid, + &mtr); if (undo == NULL) { /* Did not succeed */ diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 4dee14c27b4..f3ca1de0bba 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -690,6 +690,10 @@ check_trx_exists( trx->mysql_query_str = &(thd->query); trx->active_trans = 0; + /* Update the info whether we should skip XA steps that eat + CPU time */ + trx->support_xa = (ibool)(thd->variables.innodb_support_xa); + thd->ha_data[innobase_hton.slot] = trx; } else { if (trx->magic_n != TRX_MAGIC_N) { @@ -1434,6 +1438,9 @@ innobase_commit( trx = check_trx_exists(thd); + /* Update the info whether we should skip XA steps that eat CPU time */ + trx->support_xa = (ibool)(thd->variables.innodb_support_xa); + /* Release a possible FIFO ticket and search latch. Since we will reserve the kernel mutex, we have to release the search system latch first to obey the latching order. */ @@ -1620,6 +1627,9 @@ innobase_rollback( trx = check_trx_exists(thd); + /* Update the info whether we should skip XA steps that eat CPU time */ + trx->support_xa = (ibool)(thd->variables.innodb_support_xa); + /* Release a possible FIFO ticket and search latch. Since we will reserve the kernel mutex, we have to release the search system latch first to obey the latching order. */ @@ -6308,6 +6318,11 @@ innobase_xa_prepare( int error = 0; trx_t* trx; + if (!thd->variables.innodb_support_xa) { + + return(0); + } + trx = check_trx_exists(thd); trx->xid=thd->transaction.xid; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 8271f8fa473..2913b930f89 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4211,6 +4211,7 @@ enum options_mysqld OPT_INNODB_STATUS_FILE, OPT_INNODB_MAX_DIRTY_PAGES_PCT, OPT_INNODB_TABLE_LOCKS, + OPT_INNODB_SUPPORT_XA, OPT_INNODB_OPEN_FILES, OPT_INNODB_AUTOEXTEND_INCREMENT, OPT_INNODB_SYNC_SPIN_LOOPS, @@ -4514,6 +4515,11 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite, (gptr*) &global_system_variables.innodb_table_locks, (gptr*) &global_system_variables.innodb_table_locks, 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0}, + {"innodb_support_xa", OPT_INNODB_SUPPORT_XA, + "Enable InnoDB support for the XA two-phase commit", + (gptr*) &global_system_variables.innodb_support_xa, + (gptr*) &global_system_variables.innodb_support_xa, + 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0}, #endif /* End HAVE_INNOBASE_DB */ {"isam", OPT_ISAM, "Enable ISAM (if this version of MySQL supports it). \ Disable with --skip-isam.", diff --git a/sql/set_var.cc b/sql/set_var.cc index ad8eaee10f2..bb5d386934d 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -392,6 +392,8 @@ sys_var_long_ptr sys_innodb_max_purge_lag("innodb_max_purge_lag", &srv_max_purge_lag); sys_var_thd_bool sys_innodb_table_locks("innodb_table_locks", &SV::innodb_table_locks); +sys_var_thd_bool sys_innodb_support_xa("innodb_support_xa", + &SV::innodb_support_xa); sys_var_long_ptr sys_innodb_autoextend_increment("innodb_autoextend_increment", &srv_auto_extend_increment); sys_var_long_ptr sys_innodb_sync_spin_loops("innodb_sync_spin_loops", @@ -689,6 +691,7 @@ sys_var *sys_variables[]= &sys_innodb_max_dirty_pages_pct, &sys_innodb_max_purge_lag, &sys_innodb_table_locks, + &sys_innodb_support_xa, &sys_innodb_max_purge_lag, &sys_innodb_autoextend_increment, &sys_innodb_sync_spin_loops, @@ -810,6 +813,7 @@ struct show_var_st init_vars[]= { {"innodb_open_files", (char*) &innobase_open_files, SHOW_LONG }, {sys_innodb_sync_spin_loops.name, (char*) &sys_innodb_sync_spin_loops, SHOW_SYS}, {sys_innodb_table_locks.name, (char*) &sys_innodb_table_locks, SHOW_SYS}, + {sys_innodb_support_xa.name, (char*) &sys_innodb_support_xa, SHOW_SYS}, {sys_innodb_thread_concurrency.name, (char*) &sys_innodb_thread_concurrency, SHOW_SYS}, {sys_innodb_thread_sleep_delay.name, (char*) &sys_innodb_thread_sleep_delay, SHOW_SYS}, #endif diff --git a/sql/sql_class.h b/sql/sql_class.h index e185631f5d6..2335ff54bfd 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -578,6 +578,7 @@ struct system_variables #endif /* HAVE_REPLICATION */ #ifdef HAVE_INNOBASE_DB my_bool innodb_table_locks; + my_bool innodb_support_xa; #endif /* HAVE_INNOBASE_DB */ #ifdef HAVE_NDBCLUSTER_DB ulong ndb_autoincrement_prefetch_sz; From 2427f3695ccd495eb33ce10c3fb3a636823e8850 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 16:34:40 +0100 Subject: [PATCH 086/124] correct not_null_tables() for XOR and AND correct top_level_item for XOR mysql-test/r/join_outer.result: one more test mysql-test/t/join_outer.test: one more test --- mysql-test/r/join_outer.result | 6 ++++++ mysql-test/t/join_outer.test | 1 + sql/item_cmpfunc.h | 4 +++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index 7981fc9c733..b035f88da41 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -857,4 +857,10 @@ a b a b 1 1 1 2 2 1 2 2 3 1 NULL NULL +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE not(0+(t1.a=30 and t2.b=1)); +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +4 2 NULL NULL DROP TABLE t1,t2; diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 2ed7086746f..fe9ec1e0963 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -610,6 +610,7 @@ SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a; SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1; SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1 XOR (NOT ISNULL(t2.a) AND t2.b=1); +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE not(0+(t1.a=30 and t2.b=1)); DROP TABLE t1,t2; diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 7c48854850e..37b0674a094 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -966,6 +966,8 @@ public: enum Functype functype() const { return COND_AND_FUNC; } longlong val_int(); const char *func_name() const { return "and"; } + table_map not_null_tables() const + { return abort_on_null ? not_null_tables_cache: and_tables_cache; } Item* copy_andor_structure(THD *thd) { Item_cond_and *item; @@ -1013,7 +1015,7 @@ public: enum Type type() const { return FUNC_ITEM; } longlong val_int(); const char *func_name() const { return "xor"; } - table_map not_null_tables() const { return and_tables_cache; } + void top_level_item() {} }; From 53ffcff7beaa3f9d655bfadf00a28f29946098fd Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 22:46:57 +0200 Subject: [PATCH 087/124] row0mysql.c: Correct web links fil0fil.c: Correct (?) English grammar innobase/fil/fil0fil.c: Correct (?) English grammar innobase/row/row0mysql.c: Correct web links --- innobase/fil/fil0fil.c | 14 +++++++------- innobase/row/row0mysql.c | 10 ++++++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c index 3ff70aece5e..74970648c1a 100644 --- a/innobase/fil/fil0fil.c +++ b/innobase/fil/fil0fil.c @@ -2621,12 +2621,12 @@ fil_open_single_table_tablespace( fputs("!\n" "InnoDB: Have you moved InnoDB .ibd files around without using the\n" "InnoDB: commands DISCARD TABLESPACE and IMPORT TABLESPACE?\n" -"InnoDB: It is also possible that this is a table created with\n" -"InnoDB: CREATE TEMPORARY TABLE, and MySQL removed the .ibd file for this.\n" +"InnoDB: It is also possible that this is a temporary table #sql...,\n" +"InnoDB: and MySQL removed the .ibd file for this.\n" "InnoDB: Please refer to\n" "InnoDB:" " http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n" -"InnoDB: how to resolve the issue.\n", stderr); +"InnoDB: for how to resolve the issue.\n", stderr); mem_free(filepath); @@ -2666,7 +2666,7 @@ fil_open_single_table_tablespace( "InnoDB: Please refer to\n" "InnoDB:" " http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n" -"InnoDB: how to resolve the issue.\n", (ulong) space_id, (ulong) id); +"InnoDB: for how to resolve the issue.\n", (ulong) space_id, (ulong) id); ret = FALSE; @@ -3261,7 +3261,7 @@ fil_space_for_table_exists_in_mem( ut_print_filename(stderr, name); fprintf(stderr, "\n" "InnoDB: in InnoDB data dictionary has tablespace id %lu,\n" -"InnoDB: but tablespace with that id does not exist. There is\n" +"InnoDB: but a tablespace with that id does not exist. There is\n" "InnoDB: a tablespace of name %s and id %lu, though. Have\n" "InnoDB: you deleted or moved .ibd files?\n", (ulong) id, namespace->name, @@ -3272,7 +3272,7 @@ fil_space_for_table_exists_in_mem( "InnoDB: Please refer to\n" "InnoDB:" " http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n" -"InnoDB: how to resolve the issue.\n", stderr); +"InnoDB: for how to resolve the issue.\n", stderr); mem_free(path); mutex_exit(&(system->mutex)); @@ -3286,7 +3286,7 @@ fil_space_for_table_exists_in_mem( ut_print_filename(stderr, name); fprintf(stderr, "\n" "InnoDB: in InnoDB data dictionary has tablespace id %lu,\n" -"InnoDB: but tablespace with that id has name %s.\n" +"InnoDB: but the tablespace with that id has name %s.\n" "InnoDB: Have you deleted or moved .ibd files?\n", (ulong) id, space->name); if (namespace != NULL) { diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index 5009f017053..2b2b2d83002 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -3382,8 +3382,9 @@ row_rename_table_for_mysql( "InnoDB: data dictionary though MySQL is trying to rename the table.\n" "InnoDB: Have you copied the .frm file of the table to the\n" "InnoDB: MySQL database directory from another database?\n" - "InnoDB: You can look for further help from section 15.1 of\n" - "InnoDB: http://www.innodb.com/ibman.php\n", stderr); + "InnoDB: You can look for further help from\n" + "InnoDB: http://dev.mysql.com/doc/mysql/en/" + "InnoDB_troubleshooting_datadict.html\n", stderr); goto funct_exit; } @@ -3395,8 +3396,9 @@ row_rename_table_for_mysql( ut_print_name(stderr, trx, old_name); fputs( " does not have an .ibd file in the database directory.\n" - "InnoDB: You can look for further help from section 15.1 of\n" - "InnoDB: http://www.innodb.com/ibman.php\n", stderr); + "InnoDB: You can look for further help from\n" + "InnoDB: http://dev.mysql.com/doc/mysql/en/" + "InnoDB_troubleshooting_datadict.html\n", stderr); goto funct_exit; } From 1534ed8e1553eb3105bc06d963038a82d548b8d9 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 23:50:43 +0300 Subject: [PATCH 088/124] WL#926 "SUM(DISTINCT) and AVG(DISTINCT)": improvement of SUM(DISTINCT) and implementation of AVG(DISTINCT) which utilizes the approach with Fields. The patch implemented in October is portede to the up-to-date tree containing DECIMAL type. Tests for AVG(DISTINCT) (although there is not much to test provided that SUM(DISTINCT) works), cleanups for COUNT(DISTINCT) and GROUP_CONCAT() will follow in another changeset. sql/field.cc: A handy way to init create_field used for use with virtual tmp tables. Feel free to extend it for your own needs. sql/field.h: Declaration for create_field::init_for_tmp_table() sql/item.cc: Implementation for a framework used to easily handle different result types of SQL expressions. Instead of having instances of each possible result type (integer, decimal, double) in every item, variables of all used types are moved to struct Hybrid_type. Hybrid_type can change its dynamic type in runtime, and become, for instance, DECIMAL from INTEGER. All type-specific Item operations are moved to the class hierarchy Hybrid_type_traits. Item::decimals and Item::max_length can be moved to Hybrid_type as well. sql/item.h: Declaration for Hybrid_type framework. See also comments for item.cc in this changeset. sql/item_sum.cc: Rewritten implementation for Item_sum_sum_distinct (SUM(DISTINCT)) and added implementation for Item_sum_avg_distinct (AVG(DISTINCT)). The classes utilize Hybrid_type class hierarchy and Fields to convert SUM/AVG arguments to binary representation and store in a RB-tree. sql/item_sum.h: Declarations for Item_sum_distinct (the new intermediate class used for SUM and AVG distinct), Item_sum_sum_distinct, Item_sum_avg_distinct. sql/sql_select.cc: Implementatio of create_virtual_tmp_table(). sql/sql_select.h: Declaration for create_virtual_tmp_table. sql/sql_yacc.yy: Grammar support for Item_sum_avg_distinct. --- sql/field.cc | 18 +++ sql/field.h | 8 +- sql/item.cc | 125 ++++++++++++++++ sql/item.h | 114 +++++++++++++++ sql/item_sum.cc | 366 ++++++++++++++++++++++++---------------------- sql/item_sum.h | 82 ++++++++--- sql/sql_select.cc | 111 ++++++++++++++ sql/sql_select.h | 1 + sql/sql_yacc.yy | 2 + 9 files changed, 635 insertions(+), 192 deletions(-) diff --git a/sql/field.cc b/sql/field.cc index fd4d83a8b1c..7d17431b4a1 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -7150,6 +7150,24 @@ void create_field::create_length_to_internal_length(void) } +void create_field::init_for_tmp_table(enum_field_types sql_type_arg, + uint32 length_arg, uint32 decimals, + bool maybe_null, bool is_unsigned) +{ + field_name= ""; + sql_type= sql_type_arg; + length= length_arg;; + unireg_check= Field::NONE; + interval= 0; + charset= &my_charset_bin; + geom_type= Field::GEOM_GEOMETRY; + pack_flag= (FIELDFLAG_NUMBER | + ((decimals & FIELDFLAG_MAX_DEC) << FIELDFLAG_DEC_SHIFT) | + (maybe_null ? FIELDFLAG_MAYBE_NULL : 0) | + (is_unsigned ? 0 : FIELDFLAG_DECIMAL)); +} + + enum_field_types get_blob_type_from_length(ulong length) { enum_field_types type; diff --git a/sql/field.h b/sql/field.h index a92ef1db297..083af27d6d9 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1340,7 +1340,8 @@ public: Create field class for CREATE TABLE */ -class create_field :public Sql_alloc { +class create_field :public Sql_alloc +{ public: const char *field_name; const char *change; // If done with alter table @@ -1362,6 +1363,11 @@ public: create_field() :after(0) {} create_field(Field *field, Field *orig_field); void create_length_to_internal_length(void); + + /* Init for a tmp table field. To be extended if need be. */ + void init_for_tmp_table(enum_field_types sql_type_arg, + uint32 max_length, uint32 decimals, + bool maybe_null, bool is_unsigned); }; diff --git a/sql/item.cc b/sql/item.cc index 1096114021e..994bdc86413 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -33,6 +33,131 @@ static void mark_as_dependent(THD *thd, const String my_null_string("NULL", 4, default_charset_info); +/****************************************************************************/ + +/* Hybrid_type_traits {_real} */ + +void Hybrid_type_traits::fix_length_and_dec(Item *item, Item *arg) const +{ + item->decimals= NOT_FIXED_DEC; + item->max_length= item->float_length(arg->decimals); +} + + +const Hybrid_type_traits *Hybrid_type_traits::instance() +{ + const static Hybrid_type_traits real_traits; + return &real_traits; +} + + +my_decimal * +Hybrid_type_traits::val_decimal(Hybrid_type *val, my_decimal *to) const +{ + double2my_decimal(E_DEC_FATAL_ERROR, val->real, val->dec_buf); + return val->dec_buf; +} + + +String * +Hybrid_type_traits::val_str(Hybrid_type *val, String *to, uint8 decimals) const +{ + to->set(val->real, decimals, &my_charset_bin); + return to; +} + +/* Hybrid_type_traits_decimal */ + +const Hybrid_type_traits_decimal *Hybrid_type_traits_decimal::instance() +{ + const static Hybrid_type_traits_decimal decimal_traits; + return &decimal_traits; +} + + +void +Hybrid_type_traits_decimal::fix_length_and_dec(Item *item, Item *arg) const +{ + item->decimals= arg->decimals; + item->max_length= min(arg->max_length + DECIMAL_LONGLONG_DIGITS, + DECIMAL_MAX_LENGTH); +} + + +void Hybrid_type_traits_decimal::set_zero(Hybrid_type *val) const +{ + my_decimal_set_zero(&val->dec_buf[0]); + val->used_dec_buf_no= 0; +} + + +void Hybrid_type_traits_decimal::add(Hybrid_type *val, Field *f) const +{ + my_decimal_add(E_DEC_FATAL_ERROR, + &val->dec_buf[val->used_dec_buf_no ^ 1], + &val->dec_buf[val->used_dec_buf_no], + f->val_decimal(&val->dec_buf[2])); + val->used_dec_buf_no^= 1; +} + + +void Hybrid_type_traits_decimal::div(Hybrid_type *val, ulonglong u) const +{ + int2my_decimal(E_DEC_FATAL_ERROR, u, TRUE, &val->dec_buf[2]); + /* XXX: what is '4' for scale? */ + my_decimal_div(E_DEC_FATAL_ERROR, + &val->dec_buf[val->used_dec_buf_no ^ 1], + &val->dec_buf[val->used_dec_buf_no], + &val->dec_buf[2], 4); + val->used_dec_buf_no^= 1; +} + + +longlong +Hybrid_type_traits_decimal::val_int(Hybrid_type *val, bool unsigned_flag) const +{ + longlong result; + my_decimal2int(E_DEC_FATAL_ERROR, &val->dec_buf[val->used_dec_buf_no], + unsigned_flag, &result); + return result; +} + + +double +Hybrid_type_traits_decimal::val_real(Hybrid_type *val) const +{ + my_decimal2double(E_DEC_FATAL_ERROR, &val->dec_buf[val->used_dec_buf_no], + &val->real); + return val->real; +} + + +String * +Hybrid_type_traits_decimal::val_str(Hybrid_type *val, String *to, + uint8 decimals) const +{ + my_decimal_round(E_DEC_FATAL_ERROR, &val->dec_buf[val->used_dec_buf_no], + decimals, FALSE, &val->dec_buf[2]); + my_decimal2string(E_DEC_FATAL_ERROR, &val->dec_buf[2], 0, 0, 0, to); + return to; +} + +/* Hybrid_type_traits_integer */ + +const Hybrid_type_traits_integer *Hybrid_type_traits_integer::instance() +{ + const static Hybrid_type_traits_integer integer_traits; + return &integer_traits; +} + +void +Hybrid_type_traits_integer::fix_length_and_dec(Item *item, Item *arg) const +{ + item->decimals= 0; + item->max_length= 21; + item->unsigned_flag= 0; +} + /***************************************************************************** ** Item functions *****************************************************************************/ diff --git a/sql/item.h b/sql/item.h index 97913e40916..a2bf33398cc 100644 --- a/sql/item.h +++ b/sql/item.h @@ -106,6 +106,120 @@ public: } }; + +/*************************************************************************/ +/* + A framework to easily handle different return types for hybrid items + (hybrid item is an item whose operand can be of any type, e.g. integer, + real, decimal). +*/ + +struct Hybrid_type_traits; + +struct Hybrid_type +{ + longlong integer; + + double real; + /* + Use two decimal buffers interchangeably to speed up += operation + which has no native support in decimal library. + Hybrid_type+= arg is implemented as dec_buf[1]= dec_buf[0] + arg. + The third decimal is used as a handy temporary storage. + */ + my_decimal dec_buf[3]; + int used_dec_buf_no; + + /* + Traits moved to a separate class to + a) be able to easily change object traits in runtime + b) they work as a differentiator for the union above + */ + const Hybrid_type_traits *traits; + + Hybrid_type() {} + /* XXX: add traits->copy() when needed */ + Hybrid_type(const Hybrid_type &rhs) :traits(rhs.traits) {} +}; + + +/* Hybryd_type_traits interface + default implementation for REAL_RESULT */ + +struct Hybrid_type_traits +{ + virtual Item_result type() const { return REAL_RESULT; } + + virtual void + fix_length_and_dec(Item *item, Item *arg) const; + + /* Hybrid_type operations. */ + virtual void set_zero(Hybrid_type *val) const { val->real= 0.0; } + virtual void add(Hybrid_type *val, Field *f) const + { val->real+= f->val_real(); } + virtual void div(Hybrid_type *val, ulonglong u) const + { val->real/= ulonglong2double(u); } + + virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const + { return (longlong) val->real; } + virtual double val_real(Hybrid_type *val) const { return val->real; } + virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const; + virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const; + static const Hybrid_type_traits *instance(); +}; + + +struct Hybrid_type_traits_decimal: public Hybrid_type_traits +{ + virtual Item_result type() const { return DECIMAL_RESULT; } + + virtual void + fix_length_and_dec(Item *arg, Item *item) const; + + /* Hybrid_type operations. */ + virtual void set_zero(Hybrid_type *val) const; + virtual void add(Hybrid_type *val, Field *f) const; + virtual void div(Hybrid_type *val, ulonglong u) const; + + virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const; + virtual double val_real(Hybrid_type *val) const; + virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const + { return &val->dec_buf[val->used_dec_buf_no]; } + virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const; + static const Hybrid_type_traits_decimal *instance(); +}; + + +struct Hybrid_type_traits_integer: public Hybrid_type_traits +{ + virtual Item_result type() const { return INT_RESULT; } + + virtual void + fix_length_and_dec(Item *arg, Item *item) const; + + /* Hybrid_type operations. */ + virtual void set_zero(Hybrid_type *val) const + { val->integer= 0; } + virtual void add(Hybrid_type *val, Field *f) const + { val->integer+= f->val_int(); } + virtual void div(Hybrid_type *val, ulonglong u) const + { val->integer/= (longlong) u; } + + virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const + { return val->integer; } + virtual double val_real(Hybrid_type *val) const + { return (double) val->integer; } + virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const + { + int2my_decimal(E_DEC_FATAL_ERROR, val->integer, 0, &val->dec_buf[2]); + return &val->dec_buf[2]; + } + virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const + { buf->set(val->integer, &my_charset_bin); return buf;} + static const Hybrid_type_traits_integer *instance(); +}; + +/*************************************************************************/ + typedef bool (Item::*Item_processor)(byte *arg); typedef Item* (Item::*Item_transformer) (byte *arg); diff --git a/sql/item_sum.cc b/sql/item_sum.cc index dbba02c3cf7..b3a7332fe52 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -456,11 +456,30 @@ my_decimal *Item_sum_sum::val_decimal(my_decimal *val) return val_decimal_from_real(val); } +/***************************************************************************/ -/* Item_sum_sum_distinct */ +C_MODE_START -Item_sum_sum_distinct::Item_sum_sum_distinct(Item *item) - :Item_sum_sum(item), tree(0) +/* Declarations for auxilary C-callbacks */ + +static int simple_raw_key_cmp(void* arg, const void* key1, const void* key2) +{ + return memcmp(key1, key2, *(uint *) arg); +} + + +static int item_sum_distinct_walk(void *element, element_count num_of_dups, + void *item) +{ + return ((Item_sum_distinct*) (item))->unique_walk_function(element); +} + +C_MODE_END + +/* Item_sum_distinct */ + +Item_sum_distinct::Item_sum_distinct(Item *item_arg) + :Item_sum_num(item_arg), tree(0) { /* quick_group is an optimizer hint, which means that GROUP BY can be @@ -472,239 +491,242 @@ Item_sum_sum_distinct::Item_sum_sum_distinct(Item *item) } -Item_sum_sum_distinct::Item_sum_sum_distinct(THD *thd, - Item_sum_sum_distinct *original) - :Item_sum_sum(thd, original), tree(0), dec_bin_buff(original->dec_bin_buff) +Item_sum_distinct::Item_sum_distinct(THD *thd, Item_sum_distinct *original) + :Item_sum_num(thd, original), val(original->val), tree(0), + table_field_type(original->table_field_type) { quick_group= 0; } -void Item_sum_sum_distinct::fix_length_and_dec() +/* + Behaves like an Integer except to fix_length_and_dec(). + Additionally div() converts val with this traits to a val with true + decimal traits along with conversion of integer value to decimal value. + This is to speedup SUM/AVG(DISTINCT) evaluation for 8-32 bit integer + values. +*/ + +struct Hybrid_type_traits_fast_decimal: public + Hybrid_type_traits_integer { - Item_sum_sum::fix_length_and_dec(); - if (hybrid_type == DECIMAL_RESULT) + virtual Item_result type() const { return DECIMAL_RESULT; } + virtual void fix_length_and_dec(Item *item, Item *arg) const + { Hybrid_type_traits_decimal::instance()->fix_length_and_dec(item, arg); } + + virtual void div(Hybrid_type *val, ulonglong u) const { - dec_bin_buff= (byte *) - sql_alloc(my_decimal_get_binary_size(args[0]->max_length, - args[0]->decimals)); + int2my_decimal(E_DEC_FATAL_ERROR, val->integer, 0, val->dec_buf); + val->used_dec_buf_no= 0; + val->traits= Hybrid_type_traits_decimal::instance(); + val->traits->div(val, u); } + static const Hybrid_type_traits_fast_decimal *instance() + { + static const Hybrid_type_traits_fast_decimal fast_decimal_traits; + return &fast_decimal_traits; + } +}; + + +void Item_sum_distinct::fix_length_and_dec() +{ + DBUG_ASSERT(args[0]->fixed); + + table_field_type= args[0]->field_type(); + + /* Adjust tmp table type according to the chosen aggregation type */ + switch (args[0]->result_type()) { + case STRING_RESULT: + case REAL_RESULT: + val.traits= Hybrid_type_traits::instance(); + if (table_field_type != MYSQL_TYPE_FLOAT) + table_field_type= MYSQL_TYPE_DOUBLE; + break; + case INT_RESULT: + /* + Preserving int8, int16, int32 field types gives ~10% performance boost + as the size of result tree becomes significantly smaller. + Another speed up we gain by using longlong for intermediate + calculations. The range of int64 is enough to hold sum 2^32 distinct + integers each <= 2^32. + */ + if (table_field_type == MYSQL_TYPE_INT24 || + table_field_type >= MYSQL_TYPE_TINY && + table_field_type <= MYSQL_TYPE_LONG) + { + val.traits= Hybrid_type_traits_fast_decimal::instance(); + break; + } + table_field_type= MYSQL_TYPE_LONGLONG; + /* fallthrough */ + case DECIMAL_RESULT: + val.traits= Hybrid_type_traits_decimal::instance(); + if (table_field_type != MYSQL_TYPE_LONGLONG) + table_field_type= MYSQL_TYPE_NEWDECIMAL; + break; + case ROW_RESULT: + default: + DBUG_ASSERT(0); + } + val.traits->fix_length_and_dec(this, args[0]); } -Item * -Item_sum_sum_distinct::copy_or_same(THD *thd) +bool Item_sum_distinct::setup(THD *thd) { - return new (thd->mem_root) Item_sum_sum_distinct(thd, this); -} + List field_list; + create_field field_def; /* field definition */ -C_MODE_START - -static int simple_raw_key_cmp(void* arg, const void* key1, const void* key2) -{ - return memcmp(key1, key2, *(uint *) arg); -} - -C_MODE_END - - -bool Item_sum_sum_distinct::setup(THD *thd) -{ - DBUG_ENTER("Item_sum_sum_distinct::setup"); - SELECT_LEX *select_lex= thd->lex->current_select; - /* what does it mean??? */ - if (select_lex->linkage == GLOBAL_OPTIONS_TYPE) - DBUG_RETURN(1); + DBUG_ENTER("Item_sum_distinct::setup"); DBUG_ASSERT(tree == 0); /* setup can not be called twice */ /* - Uniques handles all unique elements in a tree until they can't fit in. - Then thee tree is dumped to the temporary file. - See class Unique for details. + Virtual table and the tree are created anew on each re-execution of + PS/SP. Hence all further allocations are performed in the runtime + mem_root. */ + if (field_list.push_back(&field_def)) + return TRUE; + null_value= maybe_null= 1; - /* - TODO: if underlying item result fits in 4 bytes we can take advantage - of it and have tree of long/ulong. It gives 10% performance boost - */ + quick_group= 0; + + DBUG_ASSERT(args[0]->fixed); + + field_def.init_for_tmp_table(table_field_type, args[0]->max_length, + args[0]->decimals, args[0]->maybe_null, + args[0]->unsigned_flag); + + if (! (table= create_virtual_tmp_table(thd, field_list))) + return TRUE; + + /* XXX: check that the case of CHAR(0) works OK */ + tree_key_length= table->s->reclength - table->s->null_bytes; /* - It's safe to use key_length here as even if we do copy_or_same() - the new item will just share the old items key_length, which will not - change or disappear during the life time of this item. + Unique handles all unique elements in a tree until they can't fit + in. Then the tree is dumped to the temporary file. We can use + simple_raw_key_cmp because the table contains numbers only; decimals + are converted to binary representation as well. */ - key_length= ((hybrid_type == DECIMAL_RESULT) ? - my_decimal_get_binary_size(args[0]->max_length, - args[0]->decimals) : - sizeof(double)); - tree= new Unique(simple_raw_key_cmp, &key_length, key_length, + tree= new Unique(simple_raw_key_cmp, &tree_key_length, tree_key_length, thd->variables.max_heap_table_size); - DBUG_PRINT("info", ("tree 0x%lx, key length %d", (ulong)tree, - key_length)); + DBUG_RETURN(tree == 0); } -void Item_sum_sum_distinct::clear() + +bool Item_sum_distinct::add() { - DBUG_ENTER("Item_sum_sum_distinct::clear"); + args[0]->save_in_field(table->field[0], FALSE); + if (!table->field[0]->is_null()) + { + DBUG_ASSERT(tree); + null_value= 0; + /* + '0' values are also stored in the tree. This doesn't matter + for SUM(DISTINCT), but is important for AVG(DISTINCT) + */ + return tree->unique_add(table->field[0]->ptr); + } + return 0; +} + + +bool Item_sum_distinct::unique_walk_function(void *element) +{ + memcpy(table->field[0]->ptr, element, tree_key_length); + ++count; + val.traits->add(&val, table->field[0]); + return 0; +} + + +void Item_sum_distinct::clear() +{ + DBUG_ENTER("Item_sum_distinct::clear"); DBUG_ASSERT(tree != 0); /* we always have a tree */ - null_value= 1; + null_value= 1; tree->reset(); DBUG_VOID_RETURN; } -void Item_sum_sum_distinct::cleanup() +void Item_sum_distinct::cleanup() { Item_sum_num::cleanup(); delete tree; tree= 0; + table= 0; } - -bool Item_sum_sum_distinct::add() +Item_sum_distinct::~Item_sum_distinct() { - DBUG_ENTER("Item_sum_sum_distinct::add"); - if (hybrid_type == DECIMAL_RESULT) - { - my_decimal value, *val= args[0]->val_decimal(&value); - if (!args[0]->null_value) - { - DBUG_ASSERT(tree != 0); - null_value= 0; - my_decimal2binary(E_DEC_FATAL_ERROR, val, (char *) dec_bin_buff, - args[0]->max_length, args[0]->decimals); - DBUG_RETURN(tree->unique_add(dec_bin_buff)); - } - } - else - { - /* args[0]->val() may reset args[0]->null_value */ - double val= args[0]->val_real(); - if (!args[0]->null_value) - { - DBUG_ASSERT(tree != 0); - null_value= 0; - DBUG_PRINT("info", ("real: %lg, tree 0x%lx", val, (ulong)tree)); - if (val) - DBUG_RETURN(tree->unique_add(&val)); - } - else - DBUG_PRINT("info", ("real: NULL")); - } - DBUG_RETURN(0); + delete tree; + /* no need to free the table */ } -void Item_sum_sum_distinct::add_real(double val) +void Item_sum_distinct::calculate_val_and_count() { - DBUG_ENTER("Item_sum_sum_distinct::add_real"); - sum+= val; - DBUG_PRINT("info", ("sum %lg, val %lg", sum, val)); - DBUG_VOID_RETURN; -} - - -void Item_sum_sum_distinct::add_decimal(byte *val) -{ - binary2my_decimal(E_DEC_FATAL_ERROR, (char *) val, &tmp_dec, - args[0]->max_length, args[0]->decimals); - my_decimal_add(E_DEC_FATAL_ERROR, dec_buffs + (curr_dec_buff^1), - &tmp_dec, dec_buffs + curr_dec_buff); - curr_dec_buff^= 1; -} - -C_MODE_START - -static int sum_sum_distinct_real(void *element, element_count num_of_dups, - void *item_sum_sum_distinct) -{ - ((Item_sum_sum_distinct *) - (item_sum_sum_distinct))->add_real(* (double *) element); - return 0; -} - -static int sum_sum_distinct_decimal(void *element, element_count num_of_dups, - void *item_sum_sum_distinct) -{ - ((Item_sum_sum_distinct *) - (item_sum_sum_distinct))->add_decimal((byte *)element); - return 0; -} - -C_MODE_END - - -double Item_sum_sum_distinct::val_real() -{ - DBUG_ENTER("Item_sum_sum_distinct::val"); + count= 0; + val.traits->set_zero(&val); /* We don't have a tree only if 'setup()' hasn't been called; this is the case of sql_select.cc:return_zero_rows. */ - if (hybrid_type == DECIMAL_RESULT) + if (tree) { - /* Item_sum_sum_distinct::val_decimal do not use argument */ - my_decimal *val= val_decimal(0); - if (!null_value) - my_decimal2double(E_DEC_FATAL_ERROR, val, &sum); + table->field[0]->set_notnull(); + tree->walk(item_sum_distinct_walk, (void*) this); } - else - { - sum= 0.0; - DBUG_PRINT("info", ("tree 0x%lx", (ulong)tree)); - if (tree) - tree->walk(sum_sum_distinct_real, (void *) this); - } - DBUG_RETURN(sum); } -my_decimal *Item_sum_sum_distinct::val_decimal(my_decimal *fake) +double Item_sum_distinct::val_real() { - if (hybrid_type == DECIMAL_RESULT) - { - my_decimal_set_zero(dec_buffs); - curr_dec_buff= 0; - if (tree) - tree->walk(sum_sum_distinct_decimal, (void *)this); - } - else - { - double real= val_real(); - curr_dec_buff= 0; - double2my_decimal(E_DEC_FATAL_ERROR, real, dec_buffs); - } - return(dec_buffs + curr_dec_buff); + calculate_val_and_count(); + return val.traits->val_real(&val); } -longlong Item_sum_sum_distinct::val_int() +my_decimal *Item_sum_distinct::val_decimal(my_decimal *to) { - longlong result; - if (hybrid_type == DECIMAL_RESULT) - { - /* Item_sum_sum_distinct::val_decimal do not use argument */ - my_decimal *val= val_decimal(0); - if (!null_value) - my_decimal2int(E_DEC_FATAL_ERROR, val, unsigned_flag, &result); - } - else - result= (longlong) val_real(); - return result; + calculate_val_and_count(); + if (null_value) + return 0; + return val.traits->val_decimal(&val, to); } -String *Item_sum_sum_distinct::val_str(String *str) +longlong Item_sum_distinct::val_int() { - DBUG_ASSERT(fixed == 1); - if (hybrid_type == DECIMAL_RESULT) - return val_string_from_decimal(str); - return val_string_from_real(str); + calculate_val_and_count(); + return val.traits->val_int(&val, unsigned_flag); } -/* end of Item_sum_sum_distinct */ +String *Item_sum_distinct::val_str(String *str) +{ + calculate_val_and_count(); + if (null_value) + return 0; + return val.traits->val_str(&val, str, decimals); +} + +/* end of Item_sum_distinct */ + +/* Item_sum_avg_distinct */ + +void +Item_sum_avg_distinct::calculate_val_and_count() +{ + Item_sum_distinct::calculate_val_and_count(); + if (count) + val.traits->div(&val, count); +} + Item *Item_sum_count::copy_or_same(THD* thd) { diff --git a/sql/item_sum.h b/sql/item_sum.h index af2710d7800..641acb0efd9 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -30,8 +30,8 @@ class Item_sum :public Item_result_field public: enum Sumfunctype { COUNT_FUNC, COUNT_DISTINCT_FUNC, SUM_FUNC, SUM_DISTINCT_FUNC, AVG_FUNC, - MIN_FUNC, MAX_FUNC, UNIQUE_USERS_FUNC, STD_FUNC, VARIANCE_FUNC, - SUM_BIT_FUNC, UDF_SUM_FUNC, GROUP_CONCAT_FUNC + AVG_DISTINCT_FUNC, MIN_FUNC, MAX_FUNC, UNIQUE_USERS_FUNC, STD_FUNC, + VARIANCE_FUNC, SUM_BIT_FUNC, UDF_SUM_FUNC, GROUP_CONCAT_FUNC }; Item **args, *tmp_args[2]; @@ -68,6 +68,9 @@ public: a temporary table. Similar to reset(), but must also store value in result_field. Like reset() it is supposed to reset start value to default. + This set of methods (reult_field(), reset_field, update_field()) of + Item_sum is used only if quick_group is not null. Otherwise + copy_or_same() is used to obtain a copy of this item. */ virtual void reset_field()=0; /* @@ -161,26 +164,28 @@ public: }; -/* - Item_sum_sum_distinct - SELECT SUM(DISTINCT expr) FROM ... - support. See also: MySQL manual, chapter 'Adding New Functions To MySQL' - and comments in item_sum.cc. -*/ + +/* Common class for SUM(DISTINCT), AVG(DISTINCT) */ class Unique; -class Item_sum_sum_distinct :public Item_sum_sum +class Item_sum_distinct :public Item_sum_num { +protected: + /* storage for the summation result */ + ulonglong count; + Hybrid_type val; + /* storage for unique elements */ Unique *tree; - byte *dec_bin_buff; - my_decimal tmp_dec; - uint key_length; -private: - Item_sum_sum_distinct(THD *thd, Item_sum_sum_distinct *item); + TABLE *table; + enum enum_field_types table_field_type; + uint tree_key_length; +protected: + Item_sum_distinct(THD *thd, Item_sum_distinct *item); public: - Item_sum_sum_distinct(Item *item_par); - ~Item_sum_sum_distinct() {} - + Item_sum_distinct(Item *item_par); + ~Item_sum_distinct(); + bool setup(THD *thd); void clear(); void cleanup(); @@ -190,15 +195,54 @@ public: longlong val_int(); String *val_str(String *str); - void add_real(double val); - void add_decimal(byte *val); + /* XXX: does it need make_unique? */ + enum Sumfunctype sum_func () const { return SUM_DISTINCT_FUNC; } void reset_field() {} // not used void update_field() {} // not used const char *func_name() const { return "sum_distinct"; } - Item *copy_or_same(THD* thd); virtual void no_rows_in_result() {} void fix_length_and_dec(); + enum Item_result result_type () const { return val.traits->type(); } + virtual void calculate_val_and_count(); + virtual bool unique_walk_function(void *elem); +}; + + +/* + Item_sum_sum_distinct - implementation of SUM(DISTINCT expr). + See also: MySQL manual, chapter 'Adding New Functions To MySQL' + and comments in item_sum.cc. +*/ + +class Item_sum_sum_distinct :public Item_sum_distinct +{ +private: + Item_sum_sum_distinct(THD *thd, Item_sum_sum_distinct *item) + :Item_sum_distinct(thd, item) {} +public: + Item_sum_sum_distinct(Item *item_arg) :Item_sum_distinct(item_arg) {} + + enum Sumfunctype sum_func () const { return SUM_DISTINCT_FUNC; } + const char *func_name() const { return "sum_distinct"; } + Item *copy_or_same(THD* thd) { return new Item_sum_sum_distinct(thd, this); } +}; + + +/* Item_sum_avg_distinct - SELECT AVG(DISTINCT expr) FROM ... */ + +class Item_sum_avg_distinct: public Item_sum_distinct +{ +private: + Item_sum_avg_distinct(THD *thd, Item_sum_avg_distinct *original) + :Item_sum_distinct(thd, original) {} +public: + Item_sum_avg_distinct(Item *item_arg) : Item_sum_distinct(item_arg) {} + + virtual void calculate_val_and_count(); + enum Sumfunctype sum_func () const { return AVG_DISTINCT_FUNC; } + const char *func_name() const { return "avg_distinct"; } + Item *copy_or_same(THD* thd) { return new Item_sum_avg_distinct(thd, this); } }; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 76d8ec1740a..cb906931b2b 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -8359,6 +8359,117 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, } +/****************************************************************************/ + +/* + Create a reduced TABLE object with properly set up Field list from a + list of field definitions. + + SYNOPSIS + create_virtual_tmp_table() + thd connection handle + field_list list of column definitions + + DESCRIPTION + The created table doesn't have a table handler assotiated with + it, has no keys, no group/distinct, no copy_funcs array. + The sole purpose of this TABLE object is to use the power of Field + class to read/write data to/from table->record[0]. Then one can store + the record in any container (RB tree, hash, etc). + The table is created in THD mem_root, so are the table's fields. + Consequently, if you don't BLOB fields, you don't need to free it. + + RETURN + 0 if out of memory, TABLE object in case of success +*/ + +TABLE *create_virtual_tmp_table(THD *thd, List &field_list) +{ + uint field_count= field_list.elements; + Field **field; + create_field *cdef; /* column definition */ + uint record_length= 0; + uint null_count= 0; /* number of columns which may be null */ + uint null_pack_length; /* NULL representation array length */ + TABLE_SHARE *s; + /* Create the table and list of all fields */ + TABLE *table= (TABLE*) thd->calloc(sizeof(*table)); + field= (Field**) thd->alloc((field_count + 1) * sizeof(Field*)); + if (!table || !field) + return 0; + + table->field= field; + table->s= s= &table->share_not_to_be_used; + s->fields= field_count; + + /* Create all fields and calculate the total length of record */ + List_iterator_fast it(field_list); + while ((cdef= it++)) + { + *field= make_field(0, cdef->length, + (uchar*) (f_maybe_null(cdef->pack_flag) ? "" : 0), + f_maybe_null(cdef->pack_flag) ? 1 : 0, + cdef->pack_flag, cdef->sql_type, cdef->charset, + cdef->geom_type, cdef->unireg_check, + cdef->interval, cdef->field_name, table); + if (!*field) + goto error; + record_length+= (**field).pack_length(); + if (! ((**field).flags & NOT_NULL_FLAG)) + ++null_count; + ++field; + } + *field= NULL; /* mark the end of the list */ + + null_pack_length= (null_count + 7)/8; + s->reclength= record_length + null_pack_length; + s->rec_buff_length= ALIGN_SIZE(s->reclength + 1); + table->record[0]= (byte*) thd->alloc(s->rec_buff_length); + if (!table->record[0]) + goto error; + + if (null_pack_length) + { + table->null_flags= (uchar*) table->record[0]; + s->null_fields= null_count; + s->null_bytes= null_pack_length; + } + + table->in_use= thd; /* field->reset() may access table->in_use */ + { + /* Set up field pointers */ + byte *null_pos= table->record[0]; + byte *field_pos= null_pos + s->null_bytes; + uint null_bit= 1; + + for (field= table->field; *field; ++field) + { + Field *cur_field= *field; + if ((cur_field->flags & NOT_NULL_FLAG)) + cur_field->move_field((char*) field_pos); + else + { + cur_field->move_field((char*) field_pos, (uchar*) null_pos, null_bit); + null_bit<<= 1; + if (null_bit == (1 << 8)) + { + ++null_pos; + null_bit= 1; + } + } + cur_field->reset(); + + field_pos+= cur_field->pack_length(); + } + } + return table; +error: + for (field= table->field; *field; ++field) + delete *field; /* just invokes field destructor */ + return 0; +} + + static bool open_tmp_table(TABLE *table) { int error; diff --git a/sql/sql_select.h b/sql/sql_select.h index 1b7893dbc7c..f00fd476edd 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -387,6 +387,7 @@ TABLE *create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, ORDER *group, bool distinct, bool save_sum_fields, ulong select_options, ha_rows rows_limit, char* alias); +TABLE *create_virtual_tmp_table(THD *thd, List &field_list); void free_tmp_table(THD *thd, TABLE *entry); void count_field_types(TMP_TABLE_PARAM *param, List &fields, bool reset_with_sum_func); diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 212f004e3bf..56dd6409eba 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -4754,6 +4754,8 @@ udf_expr: sum_expr: AVG_SYM '(' in_sum_expr ')' { $$=new Item_sum_avg($3); } + | AVG_SYM '(' DISTINCT in_sum_expr ')' + { $$=new Item_sum_avg_distinct($4); } | BIT_AND '(' in_sum_expr ')' { $$=new Item_sum_and($3); } | BIT_OR '(' in_sum_expr ')' From ec372b09fe061f44fa33e4ed2baa0ee8911955de Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 21:58:09 +0100 Subject: [PATCH 089/124] print xa recovery progress add names to handlertons trans_need_2pc() macro sql/examples/ha_archive.cc: add names to handlertons sql/ha_berkeley.cc: add names to handlertons sql/ha_innodb.cc: add names to handlertons sql/ha_ndbcluster.cc: add names to handlertons sql/handler.cc: print xa recovery progress sql/handler.h: add names to handlertons trans_need_2pc() macro sql/log.cc: add names to handlertons --- sql/examples/ha_archive.cc | 1 + sql/ha_berkeley.cc | 1 + sql/ha_innodb.cc | 2 + sql/ha_ndbcluster.cc | 1 + sql/handler.cc | 78 +++++++++++++++++++++++++++++++++++--- sql/handler.h | 16 +++++++- sql/log.cc | 1 + 7 files changed, 94 insertions(+), 6 deletions(-) diff --git a/sql/examples/ha_archive.cc b/sql/examples/ha_archive.cc index ad17bd91d69..a88bfc0391b 100644 --- a/sql/examples/ha_archive.cc +++ b/sql/examples/ha_archive.cc @@ -137,6 +137,7 @@ static HASH archive_open_tables; /* dummy handlerton - only to have something to return from archive_db_init */ static handlerton archive_hton = { + "archive", 0, /* slot */ 0, /* savepoint size. */ 0, /* close_connection */ diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc index f8e14844875..b91a0624335 100644 --- a/sql/ha_berkeley.cc +++ b/sql/ha_berkeley.cc @@ -107,6 +107,7 @@ static int berkeley_commit(THD *thd, bool all); static int berkeley_rollback(THD *thd, bool all); static handlerton berkeley_hton = { + "BerkeleyDB", 0, /* slot */ 0, /* savepoint size */ berkeley_close_connection, diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 4dee14c27b4..a1ae5b7d8fb 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -21,6 +21,7 @@ have disables the InnoDB inlining in this file. */ /* TODO list for the InnoDB handler in 5.0: - Remove the flag trx->active_trans and look at the InnoDB trx struct state field + - fix savepoint functions to use savepoint storage area - Find out what kind of problems the OS X case-insensitivity causes to table and database names; should we 'normalize' the names like we do in Windows? @@ -157,6 +158,7 @@ static int innobase_savepoint(THD* thd, void *savepoint); static int innobase_release_savepoint(THD* thd, void *savepoint); static handlerton innobase_hton = { + "InnoDB", 0, /* slot */ sizeof(trx_named_savept_t), /* savepoint size. TODO: use it */ innobase_close_connection, diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 2adfeb7f539..ab7592097e5 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -50,6 +50,7 @@ static int ndbcluster_commit(THD *thd, bool all); static int ndbcluster_rollback(THD *thd, bool all); static handlerton ndbcluster_hton = { + "ndbcluster", 0, /* slot */ 0, /* savepoint size */ ndbcluster_close_connection, diff --git a/sql/handler.cc b/sql/handler.cc index e185ae0f0a0..f33f987ef77 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -325,7 +325,7 @@ static int ha_finish_errors(void) my_free((gptr) errmsgs, MYF(0)); return 0; } - + static inline void ha_was_inited_ok(handlerton **ht) { @@ -485,6 +485,16 @@ void ha_close_connection(THD* thd) /* ======================================================================== ======================= TRANSACTIONS ===================================*/ +/* + Register a storage engine for a transaction + + DESCRIPTION + Every storage engine MUST call this function when it starts + a transaction or a statement (that is it must be called both for the + "beginning of transaction" and "beginning of statement"). + Only storage engines registered for the transaction/statement + will know when to commit/rollback it. +*/ void trans_register_ha(THD *thd, bool all, handlerton *ht_arg) { THD_TRANS *trans; @@ -742,6 +752,45 @@ int ha_commit_or_rollback_by_xid(LEX_STRING *ident, bool commit) return res; } +#ifndef DBUG_OFF +/* this does not need to be multi-byte safe or anything */ +static char* xid_to_str(char *buf, XID *xid) +{ + int i; + char *s=buf; + *s++='\''; + for (i=0; i < xid->gtrid_length+xid->bqual_length; i++) + { + uchar c=(uchar)xid->data[i]; + if (i == xid->gtrid_length) + { + *s++='\''; + if (xid->bqual_length) + { + *s++='.'; + *s++='\''; + } + } + if (c < 32 || c > 126) + { + *s++='\\'; + *s++='x'; + *s++=_dig_vec_lower[c >> 4]; + *s++=_dig_vec_lower[c & 15]; + } + else + { + if (c == '\'' || c == '\\') + *s++='\\'; + *s++=c; + } + } + *s++='\''; + *s=0; + return buf; +} +#endif + /* recover() step of xa @@ -772,11 +821,14 @@ int ha_recover(HASH *commit_list) /* commit_list and tc_heuristic_recover cannot be set both */ DBUG_ASSERT(commit_list==0 || tc_heuristic_recover==0); /* if either is set, total_ha_2pc must be set too */ - DBUG_ASSERT((commit_list==0 && tc_heuristic_recover==0) || total_ha_2pc>0); + DBUG_ASSERT(dry_run || total_ha_2pc>opt_bin_log); - if (total_ha_2pc == 0) + if (total_ha_2pc <= opt_bin_log) DBUG_RETURN(0); + if (commit_list) + sql_print_information("Starting crash recovery..."); + #ifndef WILL_BE_DELETED_LATER /* for now, only InnoDB supports 2pc. It means we can always safely @@ -803,6 +855,8 @@ int ha_recover(HASH *commit_list) continue; while ((got=(*(*ht)->recover)(list, len)) > 0 ) { + sql_print_information("Found %d prepared transaction(s) in %s", + got, (*ht)->name); for (int i=0; i < got; i ++) { my_xid x=list[i].get_my_xid(); @@ -820,9 +874,21 @@ int ha_recover(HASH *commit_list) if (commit_list ? hash_search(commit_list, (byte *)&x, sizeof(x)) != 0 : tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT) + { +#ifndef DBUG_OFF + char buf[XIDDATASIZE*4+6]; // see xid_to_str + sql_print_information("commit xid %s", xid_to_str(buf, list+i)); +#endif (*(*ht)->commit_by_xid)(list+i); + } else + { +#ifndef DBUG_OFF + char buf[XIDDATASIZE*4+6]; // see xid_to_str + sql_print_information("rollback xid %s", xid_to_str(buf, list+i)); +#endif (*(*ht)->rollback_by_xid)(list+i); + } } if (got < len) break; @@ -842,6 +908,8 @@ int ha_recover(HASH *commit_list) found_my_xids, opt_tc_log_file); DBUG_RETURN(1); } + if (commit_list) + sql_print_information("Crash recovery finished."); DBUG_RETURN(0); } @@ -1600,7 +1668,7 @@ void handler::print_error(int error, myf errflag) SYNOPSIS error error code previously returned by handler buf Pointer to String where to add error message - + Returns true if this is a temporary error */ @@ -1636,7 +1704,7 @@ uint handler::get_dup_key(int error) RETURN 0 If we successfully deleted at least one file from base_ext and - didn't get any other errors than ENOENT + didn't get any other errors than ENOENT # Error */ diff --git a/sql/handler.h b/sql/handler.h index d4e24bbb411..c8e1d75f2f7 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -272,6 +272,10 @@ typedef struct xid_t XID; */ typedef struct { + /* + storage engine name as it should be printed to a user + */ + const char *name; /* each storage engine has it's own memory area (actually a pointer) in the thd, for storing per-connection information. @@ -832,10 +836,20 @@ int ha_recover(HASH *commit_list); int ha_commit_trans(THD *thd, bool all); int ha_autocommit_or_rollback(THD *thd, int error); int ha_enable_transaction(THD *thd, bool on); -void trans_register_ha(THD *thd, bool all, handlerton *ht); /* savepoints */ int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv); int ha_savepoint(THD *thd, SAVEPOINT *sv); int ha_release_savepoint(THD *thd, SAVEPOINT *sv); +/* these are called by storage engines */ +void trans_register_ha(THD *thd, bool all, handlerton *ht); + +/* + Storage engine has to assume the transaction will end up with 2pc if + - there is more than one 2pc-capable storage engine available + - in the current transaction 2pc was not disabled yet +*/ +#define trans_need_2pc(thd, all) ((total_ha_2pc > 1) && \ + !((all ? &thd->transaction.all : &thd->transaction.stmt)->no_2pc)) + diff --git a/sql/log.cc b/sql/log.cc index 9bd1865fc4f..7d6496626d5 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -46,6 +46,7 @@ static int binlog_rollback(THD *thd, bool all); static int binlog_prepare(THD *thd, bool all); static handlerton binlog_hton = { + "binlog", 0, sizeof(my_off_t), /* savepoint size = binlog offset */ binlog_close_connection, From 7a105affb2f74d9874ee3e0e4721788208549cbf Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 13 Mar 2005 23:56:25 +0100 Subject: [PATCH 090/124] Item_func_isnotnull::not_null_tables - return 0 if not top-level item mysql-test/r/join_outer.result: test for some obscure usage of IS NOT NULL mysql-test/t/join_outer.test: test for some obscure usage of IS NOT NULL --- mysql-test/r/join_outer.result | 3 +++ mysql-test/t/join_outer.test | 1 + sql/item_cmpfunc.h | 8 +++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index 01447d5e464..c278e50afdc 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -650,6 +650,9 @@ select * from t1 natural left join t2 natural left join t3; i i i 1 NULL NULL 2 2 2 +select * from t1 natural left join t2 where (t2.i is not null)=0; +i i +1 NULL drop table t1,t2,t3; create table t1 (f1 integer,f2 integer,f3 integer); create table t2 (f2 integer,f4 integer); diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 7d85ab09b08..31ddcfd7cf4 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -430,6 +430,7 @@ insert into t1 values(1),(2); insert into t2 values(2),(3); insert into t3 values(2),(4); select * from t1 natural left join t2 natural left join t3; +select * from t1 natural left join t2 where (t2.i is not null)=0; drop table t1,t2,t3; # diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 38717672ba8..522f93b5e77 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -905,8 +905,9 @@ public: class Item_func_isnotnull :public Item_bool_func { + bool abort_on_null; public: - Item_func_isnotnull(Item *a) :Item_bool_func(a) {} + Item_func_isnotnull(Item *a) :Item_bool_func(a), abort_on_null(0) {} longlong val_int(); enum Functype functype() const { return ISNOTNULL_FUNC; } void fix_length_and_dec() @@ -915,10 +916,11 @@ public: } const char *func_name() const { return "isnotnull"; } optimize_type select_optimize() const { return OPTIMIZE_NULL; } - table_map not_null_tables() const { return used_tables(); } + table_map not_null_tables() const { return abort_on_null ? used_tables() : 0; } Item *neg_transformer(THD *thd); void print(String *str); CHARSET_INFO *compare_collation() { return args[0]->collation.collation; } + void top_level_item() { abort_on_null=1; } }; @@ -1004,7 +1006,7 @@ public: /* Item_cond() is only used to create top level items */ Item_cond(): Item_bool_func(), abort_on_null(1) { const_item_cache=0; } - Item_cond(Item *i1,Item *i2) + Item_cond(Item *i1,Item *i2) :Item_bool_func(), abort_on_null(0) { list.push_back(i1); From 174a177ccb176e03d02bc57c05a7cc4d76a0a4c3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 09:27:34 +0100 Subject: [PATCH 091/124] print more information --- sql/log.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sql/log.cc b/sql/log.cc index 7d6496626d5..a73dd483711 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -2488,7 +2488,7 @@ int TC_LOG_MMAP::open(const char *opt_name) { inited= 1; crashed= TRUE; - sql_print_information("Recovering after a crash"); + sql_print_information("Recovering after a crash using %s", opt_name); if (tc_heuristic_recover) { sql_print_error("Cannot perform automatic crash recovery when " @@ -2948,7 +2948,10 @@ int TC_LOG_BINLOG::open(const char *opt_name) if ((ev= Log_event::read_log_event(&log, 0, &fdle)) && ev->get_type_code() == FORMAT_DESCRIPTION_EVENT && ev->flags & LOG_EVENT_BINLOG_IN_USE_F) + { + sql_print_information("Recovering after a crash using %s", opt_name); error= recover(&log, (Format_description_log_event *)ev); + } else error=0; From 1c234737515106342180daa9671de15dedd48fcc Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 11:04:42 +0100 Subject: [PATCH 092/124] anotehr fix for Item_func_isnotnull::not_null_tables() mysql-test/r/join_outer.result: anotehr test for Item_func_isnotnull::not_null_tables() mysql-test/t/join_outer.test: anotehr test for Item_func_isnotnull::not_null_tables() --- mysql-test/r/join_outer.result | 4 ++++ mysql-test/t/join_outer.test | 1 + sql/item_cmpfunc.h | 3 ++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index c278e50afdc..15131b90a7a 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -653,6 +653,10 @@ i i i select * from t1 natural left join t2 where (t2.i is not null)=0; i i 1 NULL +select * from t1 natural left join t2 where (t2.i is not null) is not null; +i i +1 NULL +2 2 drop table t1,t2,t3; create table t1 (f1 integer,f2 integer,f3 integer); create table t2 (f2 integer,f4 integer); diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 31ddcfd7cf4..00f7e5f00bf 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -431,6 +431,7 @@ insert into t2 values(2),(3); insert into t3 values(2),(4); select * from t1 natural left join t2 natural left join t3; select * from t1 natural left join t2 where (t2.i is not null)=0; +select * from t1 natural left join t2 where (t2.i is not null) is not null; drop table t1,t2,t3; # diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 522f93b5e77..63e7a93d43a 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -916,7 +916,8 @@ public: } const char *func_name() const { return "isnotnull"; } optimize_type select_optimize() const { return OPTIMIZE_NULL; } - table_map not_null_tables() const { return abort_on_null ? used_tables() : 0; } + table_map not_null_tables() const + { return abort_on_null ? not_null_tables_cache : 0; } Item *neg_transformer(THD *thd); void print(String *str); CHARSET_INFO *compare_collation() { return args[0]->collation.collation; } From 6c256bb2fa22d48cfe9ffd8f52356c72be10ed7a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 11:12:54 +0100 Subject: [PATCH 093/124] Removed --- BitKeeper/etc/gone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BitKeeper/etc/gone b/BitKeeper/etc/gone index 126bd4e38d3..ead6fb9e939 100644 --- a/BitKeeper/etc/gone +++ b/BitKeeper/etc/gone @@ -457,7 +457,7 @@ ccarkner@nslinuxw10.bedford.progress.com|mysql-test/r/isolation.result|200103271 ccarkner@nslinuxw10.bedford.progress.com|mysql-test/t/isolation.test|20010327145543|39049|6a39e4138dd4a456 jani@hynda.mysql.fi|client/mysqlcheck|20010419221207|26716|363e3278166d84ec jcole@tetra.bedford.progress.com|BitKeeper/etc/logging_ok|20001004201211|30554 -magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 +jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 magnus@neptunus.(none)|ndb/src/client/odbc/Extra.mk|20040414082358|47442|eabbb28986ca817d magnus@neptunus.(none)|ndb/src/client/odbc/Makefile|20040414084435|33394|9bc928a18aa88d66 magnus@neptunus.(none)|ndb/src/client/odbc/NdbOdbc.cpp|20040414082358|49599|aa491b06c9172d11 From 096a7d63583791ab4515c3832647664c1aad086f Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 11:37:26 +0100 Subject: [PATCH 094/124] Marked missing file gone --- BitKeeper/etc/gone | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BitKeeper/etc/gone b/BitKeeper/etc/gone index ead6fb9e939..7f84ec8a46f 100644 --- a/BitKeeper/etc/gone +++ b/BitKeeper/etc/gone @@ -458,6 +458,7 @@ ccarkner@nslinuxw10.bedford.progress.com|mysql-test/t/isolation.test|20010327145 jani@hynda.mysql.fi|client/mysqlcheck|20010419221207|26716|363e3278166d84ec jcole@tetra.bedford.progress.com|BitKeeper/etc/logging_ok|20001004201211|30554 jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 +magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 magnus@neptunus.(none)|ndb/src/client/odbc/Extra.mk|20040414082358|47442|eabbb28986ca817d magnus@neptunus.(none)|ndb/src/client/odbc/Makefile|20040414084435|33394|9bc928a18aa88d66 magnus@neptunus.(none)|ndb/src/client/odbc/NdbOdbc.cpp|20040414082358|49599|aa491b06c9172d11 @@ -1174,6 +1175,7 @@ mwagner@evoq.home.mwagner.org|mysql-test/xml/xsl/README|20001013051514|26509|cd4 mwagner@evoq.home.mwagner.org|mysql-test/xml/xsl/mysqltest.xsl|20001013051514|27425|1b8f6ec4f1b5f634 mwagner@work.mysql.com|mysql-test/r/3.23/sel000001.result|20001010091454|28284|383913ae4505ec86 mwagner@work.mysql.com|mysql-test/r/3.23/sel000002.result|20001010091454|29230|d1787e6fd5dbc1cc +ndb/src/client/Makefile nick@nick.leippe.com|mysql-test/r/rpl_empty_master_crash.result|20020531235552|47718|615f521be2132141 nick@nick.leippe.com|mysql-test/t/rpl_empty_master_crash.test|20020531235552|52328|99464e737639ccc6 sasha@mysql.sashanet.com|BitKeeper/etc/logging_ok|20000801000905|12967|5b7d847a2158554 From 10852be938b545af8a60b5357686d6f695932e89 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 12:43:22 +0200 Subject: [PATCH 095/124] dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. innobase/dict/dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. --- innobase/dict/dict0load.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index a4637e09d07..a39ffe37ffd 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -639,7 +639,7 @@ dict_load_table( /* Check if the table name in record is the searched one */ if (len != ut_strlen(name) || ut_memcmp(name, field, len) != 0) { - + err_exit: btr_pcur_close(&pcur); mtr_commit(&mtr); mem_heap_free(heap); @@ -662,6 +662,13 @@ dict_load_table( field = rec_get_nth_field(rec, 4, &len); n_cols = mach_read_from_4(field); + if (n_cols & 0x80000000UL) { + ut_print_timestamp(stderr); + fprintf(stderr, + " InnoDB: table %s is in the new compact format\n" + "InnoDB: of MySQL 5.0.3 or later\n", name); + goto err_exit; + } table = dict_mem_table_create(name, space, n_cols); From 90697f2467fda156d9a939738e443200a090884f Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 12:07:49 +0100 Subject: [PATCH 096/124] BUG#6554 Problem Building MySql on Fedora Core 3 - Moved static variables defined inside of function to file scope to avoid this linking problem on FC3 sql/ha_berkeley.cc: Moved list of bdb extension to file scope sql/ha_ndbcluster.cc: Moved list of ndb extesions to file scope BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + sql/ha_berkeley.cc | 3 ++- sql/ha_ndbcluster.cc | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 9749be3448e..f64d9ca4042 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -148,6 +148,7 @@ mronstrom@build.mysql.com mronstrom@mysql.com mskold@mysql.com msvensson@build.mysql.com +msvensson@neptunus.(none) mwagner@cash.mwagner.org mwagner@evoq.mwagner.org mwagner@here.mwagner.org diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc index e33cd3fca1b..626201a38a6 100644 --- a/sql/ha_berkeley.cc +++ b/sql/ha_berkeley.cc @@ -340,8 +340,9 @@ void berkeley_cleanup_log_files(void) ** Berkeley DB tables *****************************************************************************/ +static const char *ha_bdb_bas_exts[]= { ha_berkeley_ext, NullS }; const char **ha_berkeley::bas_ext() const -{ static const char *ext[]= { ha_berkeley_ext, NullS }; return ext; } +{ return ha_bdb_bas_exts; } ulong ha_berkeley::index_flags(uint idx, uint part, bool all_parts) const diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index f0988affc2e..66bcc303fd1 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -2979,9 +2979,9 @@ int ha_ndbcluster::reset() DBUG_RETURN(1); } - +static const char *ha_ndb_bas_exts[]= { ha_ndb_ext, NullS }; const char **ha_ndbcluster::bas_ext() const -{ static const char *ext[]= { ha_ndb_ext, NullS }; return ext; } +{ return ha_ndb_bas_exts; } /* From 87b40f2013a108ed3caaf6912772354d0b0dc842 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 12:27:02 +0100 Subject: [PATCH 097/124] Removed files that disabled ndb tests --- BitKeeper/etc/gone | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/BitKeeper/etc/gone b/BitKeeper/etc/gone index 7f84ec8a46f..776d469ee41 100644 --- a/BitKeeper/etc/gone +++ b/BitKeeper/etc/gone @@ -457,7 +457,14 @@ ccarkner@nslinuxw10.bedford.progress.com|mysql-test/r/isolation.result|200103271 ccarkner@nslinuxw10.bedford.progress.com|mysql-test/t/isolation.test|20010327145543|39049|6a39e4138dd4a456 jani@hynda.mysql.fi|client/mysqlcheck|20010419221207|26716|363e3278166d84ec jcole@tetra.bedford.progress.com|BitKeeper/etc/logging_ok|20001004201211|30554 -jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 +jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aa +jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 +jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06 +jimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1 +jimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27a +jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6d +jimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6 +jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30 magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 magnus@neptunus.(none)|ndb/src/client/odbc/Extra.mk|20040414082358|47442|eabbb28986ca817d magnus@neptunus.(none)|ndb/src/client/odbc/Makefile|20040414084435|33394|9bc928a18aa88d66 From 9f4c18f044073acab579422cd4f6b29e25573205 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 15:26:10 +0100 Subject: [PATCH 098/124] WL#2353 EXPLAIN support for condition pushdown --- mysql-test/r/ndb_condition_pushdown.result | 406 ++++++++++++++++++++- mysql-test/t/ndb_condition_pushdown.test | 371 +++++++++++++++++++ sql/sql_select.cc | 16 +- 3 files changed, 784 insertions(+), 9 deletions(-) diff --git a/mysql-test/r/ndb_condition_pushdown.result b/mysql-test/r/ndb_condition_pushdown.result index 6990e442899..f9f4104b4ea 100644 --- a/mysql-test/r/ndb_condition_pushdown.result +++ b/mysql-test/r/ndb_condition_pushdown.result @@ -278,6 +278,35 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d 4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e set engine_condition_pushdown = on; +explain +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -306,6 +335,35 @@ date_time = '1901-01-01 01:01:01' order by auto; auto 1 +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -336,6 +394,35 @@ auto 2 3 4 +explain +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -366,6 +453,35 @@ auto 2 3 4 +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -397,6 +513,35 @@ auto 2 3 4 +explain +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -427,6 +572,35 @@ auto 1 2 3 +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -459,6 +633,35 @@ auto 3 4 create index medium_index on t1(medium); +explain +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref medium_index medium_index 3 const 10 Using where with pushed condition; Using filesort select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -487,6 +690,35 @@ date_time = '1901-01-01 01:01:01' order by auto; auto 1 +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 20 Using where with pushed condition; Using filesort select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -517,6 +749,35 @@ auto 2 3 4 +explain +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -547,6 +808,35 @@ auto 2 3 4 +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -578,6 +868,35 @@ auto 2 3 4 +explain +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -608,6 +927,35 @@ auto 1 2 3 +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -639,6 +987,15 @@ auto 2 3 4 +explain +select auto from t1 where +string like "b%" and +vstring like "b%" and +bin like concat(0xBB, '%') and +vbin like concat(0xBB, '%') +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string like "b%" and vstring like "b%" and @@ -647,6 +1004,15 @@ vbin like concat(0xBB, '%') order by auto; auto 2 +explain +select auto from t1 where +string not like "b%" and +vstring not like "b%" and +bin not like concat(0xBB, '%') and +vbin not like concat(0xBB, '%') +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string not like "b%" and vstring not like "b%" and @@ -657,41 +1023,65 @@ auto 1 3 4 +explain +select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 6 Using where with pushed condition; Using filesort select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; pk1 attr1 attr2 attr3 2 2 NULL NULL 3 3 3 d +explain +select * from t2 where attr3 is not null and attr1 > 2 order by pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort select * from t2 where attr3 is not null and attr1 > 2 order by pk1; pk1 attr1 attr2 attr3 3 3 3 d 4 4 4 e 5 5 5 f +explain +select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 4 4 9223372036854775806 4 e 5 5 9223372036854775807 5 f +explain +select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using temporary; Using filesort +1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4 0 0 0 a 0 0 0 0 a +explain +select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t4 range attr1 attr1 4 NULL 10 Using where with pushed condition; Using filesort select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 4 4 9223372036854775806 4 e +explain +select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t4 range attr1 attr1 4 NULL 10 Using where with pushed condition; Using temporary; Using filesort +1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c 3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d 4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e +explain select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto; -auto -1 +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where; Using filesort +explain select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; -pk1 attr1 attr2 attr3 -0 0 0 a -1 1 1 b -3 3 3 d -4 4 4 e -5 5 5 f +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using filesort set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4; diff --git a/mysql-test/t/ndb_condition_pushdown.test b/mysql-test/t/ndb_condition_pushdown.test index 5fd9def3327..540e018ad04 100644 --- a/mysql-test/t/ndb_condition_pushdown.test +++ b/mysql-test/t/ndb_condition_pushdown.test @@ -259,6 +259,7 @@ select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 set engine_condition_pushdown = on; # Test all types and compare operators +explain select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -286,6 +287,61 @@ time_field = '01:01:01' and date_time = '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -313,6 +369,7 @@ time_field != '01:01:01' and date_time != '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -340,6 +397,61 @@ time_field > '01:01:01' and date_time > '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -367,6 +479,7 @@ time_field >= '01:01:01' and date_time >= '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -394,6 +507,61 @@ time_field < '04:04:04' and date_time < '1904-04-04 04:04:04' order by auto; +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; + +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; + select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -425,6 +593,7 @@ order by auto; create index medium_index on t1(medium); # Test all types and compare operators +explain select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -452,6 +621,61 @@ time_field = '01:01:01' and date_time = '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -479,6 +703,7 @@ time_field != '01:01:01' and date_time != '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -506,6 +731,61 @@ time_field > '01:01:01' and date_time > '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -533,6 +813,7 @@ time_field >= '01:01:01' and date_time >= '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -560,6 +841,61 @@ time_field < '04:04:04' and date_time < '1904-04-04 04:04:04' order by auto; +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; + +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; + select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -588,6 +924,7 @@ date_time <= '1904-04-04 04:04:04' order by auto; # Test LIKE/NOT LIKE +explain select auto from t1 where string like "b%" and vstring like "b%" and @@ -595,6 +932,21 @@ bin like concat(0xBB, '%') and vbin like concat(0xBB, '%') order by auto; +select auto from t1 where +string like "b%" and +vstring like "b%" and +bin like concat(0xBB, '%') and +vbin like concat(0xBB, '%') +order by auto; + +explain +select auto from t1 where +string not like "b%" and +vstring not like "b%" and +bin not like concat(0xBB, '%') and +vbin not like concat(0xBB, '%') +order by auto; + select auto from t1 where string not like "b%" and vstring not like "b%" and @@ -603,15 +955,34 @@ vbin not like concat(0xBB, '%') order by auto; # Various tests +explain select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; +select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; + +explain select * from t2 where attr3 is not null and attr1 > 2 order by pk1; +select * from t2 where attr3 is not null and attr1 > 2 order by pk1; + +explain select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; +select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; + +explain select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; +select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; + +explain select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; +select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; + +explain +select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; # Some tests that are currently not supported and should not push condition +explain select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto; +explain select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; set engine_condition_pushdown = @old_ecpd; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 758d02faf67..b885a8a03bd 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -13008,7 +13008,21 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order, extra.append(')'); } else if (tab->select->cond) - extra.append("; Using where"); + { + const COND *pushed_cond= tab->table->file->pushed_cond; + + if (thd->variables.engine_condition_pushdown && pushed_cond) + { + extra.append("; Using where with pushed condition"); + if (thd->lex->describe & DESCRIBE_EXTENDED) + { + extra.append(": "); + ((COND *)pushed_cond)->print(&extra); + } + } + else + extra.append("; Using where"); + } } if (key_read) { From 66eaf5f2434538102fe0327521cc8d6ef516007e Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 15:53:44 +0100 Subject: [PATCH 099/124] Removed unnecessary current_thd --- sql/sql_select.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/sql_select.cc b/sql/sql_select.cc index b885a8a03bd..277c9970595 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -5305,7 +5305,7 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) if (!(tmp= add_found_match_trig_cond(first_inner_tab, tmp, 0))) DBUG_RETURN(1); tab->select_cond=sel->cond=tmp; - if (current_thd->variables.engine_condition_pushdown) + if (join->thd->variables.engine_condition_pushdown) { tab->table->file->pushed_cond= NULL; /* Push condition to handler */ @@ -5433,7 +5433,7 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) join->thd->memdup((gptr) sel, sizeof(SQL_SELECT)); tab->cache.select->cond=tmp; tab->cache.select->read_tables=join->const_table_map; - if (current_thd->variables.engine_condition_pushdown && + if (join->thd->variables.engine_condition_pushdown && (!tab->table->file->pushed_cond)) { /* Push condition to handler */ From 8ee298cc7502f2537d9899093b786a0955ba20f9 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 16:59:09 +0200 Subject: [PATCH 100/124] Updated error message to be more informative. Previous error message "Access denied to database mysql" was actually not just misleading, but also wrong. Bug#7905. --- sql/sql_parse.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 81cc3f00b50..10d6ddc3f98 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3399,9 +3399,12 @@ purposes internal to the MySQL server", MYF(0)); my_strcasecmp(&my_charset_latin1, user->host.str, thd->host_or_ip))) { - if (check_access(thd, UPDATE_ACL, "mysql",0,1,0)) + if (check_access(thd, UPDATE_ACL, "mysql", 0, 1, 1)) + { + send_error(thd, ER_PASSWORD_NOT_ALLOWED); goto error; - break; // We are allowed to do changes + } + break; // We are allowed to do global changes } } } From 72ae2a5884ac7a1364751c573bda60c6ebd37683 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 17:53:24 +0100 Subject: [PATCH 101/124] sql/log.cc don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs sql/sql_repl.cc clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave sql/log.cc: don't set LOG_EVENT_BINLOG_IN_USE_F for relay logs sql/sql_repl.cc: clear LOG_EVENT_BINLOG_IN_USE_F flag before sending an event to a slave --- sql/log.cc | 7 ++++++- sql/sql_repl.cc | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sql/log.cc b/sql/log.cc index a73dd483711..43786990797 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -613,7 +613,12 @@ bool MYSQL_LOG::open(const char *log_name, even if this is not the very first binlog. */ Format_description_log_event s(BINLOG_VERSION); - s.flags|= LOG_EVENT_BINLOG_IN_USE_F; + /* + don't set LOG_EVENT_BINLOG_IN_USE_F for SEQ_READ_APPEND io_cache + as we won't be able to reset it later + */ + if (io_cache_type == WRITE_CACHE) + s.flags|= LOG_EVENT_BINLOG_IN_USE_F; if (!s.is_valid()) goto err; if (null_created_arg) diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index fb583448535..0284ab542df 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -456,6 +456,7 @@ impossible position"; { binlog_can_be_corrupted= test((*packet)[FLAGS_OFFSET+1] & LOG_EVENT_BINLOG_IN_USE_F); + (*packet)[FLAGS_OFFSET+1] &= ~LOG_EVENT_BINLOG_IN_USE_F; /* mark that this event with "log_pos=0", so the slave should not increment master's binlog position @@ -512,8 +513,11 @@ impossible position"; #endif if ((*packet)[EVENT_TYPE_OFFSET+1] == FORMAT_DESCRIPTION_EVENT) + { binlog_can_be_corrupted= test((*packet)[FLAGS_OFFSET+1] & LOG_EVENT_BINLOG_IN_USE_F); + (*packet)[FLAGS_OFFSET+1] &= ~LOG_EVENT_BINLOG_IN_USE_F; + } else if ((*packet)[EVENT_TYPE_OFFSET+1] == STOP_EVENT) binlog_can_be_corrupted= FALSE; From 2722a28691d55a9352794dcca5565ebec56c901b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 16:47:35 -0600 Subject: [PATCH 102/124] Bug #6660 mysqldump creates bad pathnames on Windows This really should not happen on Windows and part of the problem not fixed here is why show create table includes data directory when being run on Windows. However, this patch fixes the bug in mysqldump.c mysqldump.c: Added fixPaths function to convert \ to / in data directory and index directory entries only on Windows client/mysqldump.c: Added fixPaths function to convert \ to / in data directory and index directory entries only on Windows BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + client/mysqldump.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index f64d9ca4042..8a0c32e37d1 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -190,6 +190,7 @@ ramil@mysql.com ranger@regul.home.lan rburnett@build.mysql.com reggie@bob.(none) +reggie@mdk10.(none) root@home.(none) root@mc04.(none) root@x3.internalnet diff --git a/client/mysqldump.c b/client/mysqldump.c index a53dc319b2e..5ac5efb5128 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1080,6 +1080,27 @@ static void print_xml_row(FILE *xml_file, const char *row_name, check_io(xml_file); } + +/* fixPaths -- on Windows only, this function will iterate through the output + of show create table and change any \ characters that appear in the data directory + or index directory elements to be / + + RETURN + void +*/ +static void fixPaths(char *buf, int buflen) +{ +#ifdef __WIN__ + int i = 0; + for (i=0; i < buflen; i++) + { + if (buf[i] != '\\') continue; + if (i != 0 && buf[i-1] == '\\') continue; + if (i != (buflen-1) && buf[i+1] == '\\') continue; + buf[i] = '/';} +#endif +} + /* getStructure -- retrievs database structure, prints out corresponding CREATE statement and fills out insert_pat. @@ -1159,6 +1180,7 @@ static uint getTableStructure(char *table, char* db) tableRes=mysql_store_result(sock); row=mysql_fetch_row(tableRes); + fixPaths(row[1], strlen(row[1])); // this really only does something on Windows fprintf(sql_file, "%s;\n", row[1]); check_io(sql_file); mysql_free_result(tableRes); From 897849e5d8802ebe6a42803cba72caa80cd23415 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 03:46:19 +0300 Subject: [PATCH 103/124] WL#926 "AVG(DISTINCT) and other distincts", part 2 (out of 3): clean up Item_sum_count_distinct, and deploy Unique for use with COUNT(DISTINCT) if there is no blob column in the list of DISTINCT arguments. mysql-test/r/count_distinct2.result: Test results fixed. mysql-test/r/func_group.result: Updated. mysql-test/r/sum_distinct.result: Updated. mysql-test/t/func_group.test: Add a test for COUNT(DISTINCT) and true varchar and case-insensitive collation. The table in the test contains only two distinct values. mysql-test/t/sum_distinct.test: Since now we support INSERT INTO t1 (a) SELECT a+1 FROM t1, shorten the test. Add a nominal test for AVG(DISTINCT) sql/item_sum.cc: Implementation of cleaned up Item_sum_count_distinct. Fixed a bug with COUNT(DISTINCT) and new VARCHAR and collations. Fixed a bug wiht AVG(DISTINCT) and wrong number of output digits after decimal point. sql/item_sum.h: Cleanup for Item_sum_count_distinct. Now if the list of distinct arguments doesn't contain a blob column, we always use Unique and merge-sort to find distinct values. sql/sql_class.h: Added a short-cut to find number of elements in Unique if all elements fit into memory. --- mysql-test/r/count_distinct2.result | 2 +- mysql-test/r/func_group.result | 7 + mysql-test/r/sum_distinct.result | 98 +++++----- mysql-test/t/func_group.test | 10 + mysql-test/t/sum_distinct.test | 82 +++----- sql/item_sum.cc | 290 ++++++++++++---------------- sql/item_sum.h | 55 ++---- sql/sql_class.h | 1 + 8 files changed, 231 insertions(+), 314 deletions(-) diff --git a/mysql-test/r/count_distinct2.result b/mysql-test/r/count_distinct2.result index 131e3b325ec..b92665b5c56 100644 --- a/mysql-test/r/count_distinct2.result +++ b/mysql-test/r/count_distinct2.result @@ -116,7 +116,7 @@ count(distinct n) 5000 show status like 'Created_tmp_disk_tables'; Variable_name Value -Created_tmp_disk_tables 1 +Created_tmp_disk_tables 0 drop table t1; create table t1 (s text); flush status; diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index 46dba6cdfa9..81663cd9d66 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -881,3 +881,10 @@ SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6; MAX(id) NULL DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(400)); +INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "), +("B"), ("b"), ("b "), ("b "); +SELECT COUNT(DISTINCT a) FROM t1; +COUNT(DISTINCT a) +2 +DROP TABLE t1; diff --git a/mysql-test/r/sum_distinct.result b/mysql-test/r/sum_distinct.result index 34242817a54..0591943e800 100644 --- a/mysql-test/r/sum_distinct.result +++ b/mysql-test/r/sum_distinct.result @@ -98,60 +98,60 @@ DROP TABLE t1; CREATE TABLE t1 (id INTEGER); CREATE TABLE t2 (id INTEGER); INSERT INTO t1 (id) VALUES (1), (1), (1),(1); -INSERT INTO t2 (id) SELECT id FROM t1; -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 8 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 12 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 16 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 20 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 24 */ -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+16 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+32 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+64 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+128 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+256 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+512 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1024 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2048 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4096 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8192 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; +INSERT INTO t1 SELECT id+1 FROM t1; +INSERT INTO t1 SELECT id+2 FROM t1; +INSERT INTO t1 SELECT id+4 FROM t1; +INSERT INTO t1 SELECT id+8 FROM t1; +INSERT INTO t1 SELECT id+16 FROM t1; +INSERT INTO t1 SELECT id+32 FROM t1; +INSERT INTO t1 SELECT id+64 FROM t1; +INSERT INTO t1 SELECT id+128 FROM t1; +INSERT INTO t1 SELECT id+256 FROM t1; +INSERT INTO t1 SELECT id+512 FROM t1; +SELECT AVG(DISTINCT id) FROM t1 GROUP BY id % 13; +AVG(DISTINCT id) +513.5000 +508.0000 +509.0000 +510.0000 +511.0000 +512.0000 +513.0000 +514.0000 +515.0000 +516.0000 +517.0000 +511.5000 +512.5000 +SELECT SUM(DISTINCT id)/COUNT(DISTINCT id) FROM t1 GROUP BY id % 13; +SUM(DISTINCT id)/COUNT(DISTINCT id) +513.50000 +508.00000 +509.00000 +510.00000 +511.00000 +512.00000 +513.00000 +514.00000 +515.00000 +516.00000 +517.00000 +511.50000 +512.50000 +INSERT INTO t1 SELECT id+1024 FROM t1; +INSERT INTO t1 SELECT id+2048 FROM t1; +INSERT INTO t1 SELECT id+4096 FROM t1; +INSERT INTO t1 SELECT id+8192 FROM t1; INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand(); SELECT SUM(DISTINCT id) sm FROM t1; sm diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test index de9c7ff3ecb..0f03eae7e12 100644 --- a/mysql-test/t/func_group.test +++ b/mysql-test/t/func_group.test @@ -591,3 +591,13 @@ INSERT INTO t1 VALUES (1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1); SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6; DROP TABLE t1; + +# +# Test that new VARCHAR correctly works with COUNT(DISTINCT) +# + +CREATE TABLE t1 (a VARCHAR(400)); +INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "), + ("B"), ("b"), ("b "), ("b "); +SELECT COUNT(DISTINCT a) FROM t1; +DROP TABLE t1; diff --git a/mysql-test/t/sum_distinct.test b/mysql-test/t/sum_distinct.test index 964da9defa6..3b9f12354e8 100644 --- a/mysql-test/t/sum_distinct.test +++ b/mysql-test/t/sum_distinct.test @@ -103,64 +103,30 @@ CREATE TABLE t1 (id INTEGER); CREATE TABLE t2 (id INTEGER); INSERT INTO t1 (id) VALUES (1), (1), (1),(1); -INSERT INTO t2 (id) SELECT id FROM t1; -INSERT INTO t1 (id) SELECT id FROM t2; /* 8 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 12 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 16 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 20 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 24 */ -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+16 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+32 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+64 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+128 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+256 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+512 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1024 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2048 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4096 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8192 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -#INSERT INTO t2 (id) SELECT id+16384 FROM t1; -#INSERT INTO t1 SELECT id FROM t2; -#DELETE FROM t2; -#INSERT INTO t2 (id) SELECT id+32768 FROM t1; -#INSERT INTO t1 SELECT id FROM t2; -#DELETE FROM t2; -#INSERT INTO t2 (id) SELECT id+65536 FROM t1; -#INSERT INTO t1 SELECT id FROM t2; -#DELETE FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 8 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 12 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 16 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 20 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 24 */ +INSERT INTO t1 SELECT id+1 FROM t1; +INSERT INTO t1 SELECT id+2 FROM t1; +INSERT INTO t1 SELECT id+4 FROM t1; +INSERT INTO t1 SELECT id+8 FROM t1; +INSERT INTO t1 SELECT id+16 FROM t1; +INSERT INTO t1 SELECT id+32 FROM t1; +INSERT INTO t1 SELECT id+64 FROM t1; +INSERT INTO t1 SELECT id+128 FROM t1; +INSERT INTO t1 SELECT id+256 FROM t1; +INSERT INTO t1 SELECT id+512 FROM t1; + +# Just test that AVG(DISTINCT) is there +SELECT AVG(DISTINCT id) FROM t1 GROUP BY id % 13; +SELECT SUM(DISTINCT id)/COUNT(DISTINCT id) FROM t1 GROUP BY id % 13; + +INSERT INTO t1 SELECT id+1024 FROM t1; +INSERT INTO t1 SELECT id+2048 FROM t1; +INSERT INTO t1 SELECT id+4096 FROM t1; +INSERT INTO t1 SELECT id+8192 FROM t1; INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand(); # SELECT '++++++++++++++++++++++++++++++++++++++++++++++++++'; diff --git a/sql/item_sum.cc b/sql/item_sum.cc index b3a7332fe52..b79edb9bebc 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -719,6 +719,18 @@ String *Item_sum_distinct::val_str(String *str) /* Item_sum_avg_distinct */ +void +Item_sum_avg_distinct::fix_length_and_dec() +{ + Item_sum_distinct::fix_length_and_dec(); + /* + AVG() will divide val by count. We need to reserve digits + after decimal point as the result can be fractional. + */ + decimals+= 4; +} + + void Item_sum_avg_distinct::calculate_val_and_count() { @@ -2115,12 +2127,8 @@ my_decimal *Item_variance_field::val_decimal(my_decimal *dec_buf) int simple_str_key_cmp(void* arg, byte* key1, byte* key2) { - Item_sum_count_distinct* item = (Item_sum_count_distinct*)arg; - CHARSET_INFO *cs=item->key_charset; - uint len=item->key_length; - return cs->coll->strnncollsp(cs, - (const uchar*) key1, len, - (const uchar*) key2, len, 0); + Field *f= (Field*) arg; + return f->cmp(key1, key2); } /* @@ -2149,54 +2157,42 @@ int composite_key_cmp(void* arg, byte* key1, byte* key2) return 0; } -/* - helper function for walking the tree when we dump it to MyISAM - - tree_walk will call it for each leaf -*/ -int dump_leaf(byte* key, uint32 count __attribute__((unused)), - Item_sum_count_distinct* item) +C_MODE_START + +static int count_distinct_walk(void *elem, unsigned int count, void *arg) { - byte* buf = item->table->record[0]; - int error; - /* - The first item->rec_offset bytes are taken care of with - restore_record(table,default_values) in setup() - */ - memcpy(buf + item->rec_offset, key, item->tree->size_of_element); - if ((error = item->table->file->write_row(buf))) - { - if (error != HA_ERR_FOUND_DUPP_KEY && - error != HA_ERR_FOUND_DUPP_UNIQUE) - return 1; - } + (*((ulonglong*)arg))++; return 0; } +C_MODE_END + void Item_sum_count_distinct::cleanup() { DBUG_ENTER("Item_sum_count_distinct::cleanup"); Item_sum_int::cleanup(); - /* - Free table and tree if they belong to this item (if item have not pointer - to original item from which was made copy => it own its objects ) - */ + + /* Free objects only if we own them. */ if (!original) { + /* + We need to delete the table and the tree in cleanup() as + they were allocated in the runtime memroot. Using the runtime + memroot reduces memory footprint for PS/SP and simplifies setup(). + */ + delete tree; + tree= 0; if (table) { - free_tmp_table(current_thd, table); + free_tmp_table(table->in_use, table); table= 0; } delete tmp_table_param; tmp_table_param= 0; - if (use_tree) - { - delete_tree(tree); - use_tree= 0; - } } + always_null= FALSE; DBUG_VOID_RETURN; } @@ -2207,8 +2203,15 @@ void Item_sum_count_distinct::make_unique() { table=0; original= 0; - use_tree= 0; // to prevent delete_tree call on uninitialized tree - tree= &tree_base; + tree= 0; + tmp_table_param= 0; + always_null= FALSE; +} + + +Item_sum_count_distinct::~Item_sum_count_distinct() +{ + cleanup(); } @@ -2216,9 +2219,14 @@ bool Item_sum_count_distinct::setup(THD *thd) { List list; SELECT_LEX *select_lex= thd->lex->current_select; - if (select_lex->linkage == GLOBAL_OPTIONS_TYPE) - return 1; - + + /* + Setup can be called twice for ROLLUP items. This is a bug. + Please add DBUG_ASSERT(tree == 0) here when it's fixed. + */ + if (tree || table || tmp_table_param) + return FALSE; + if (!(tmp_table_param= new TMP_TABLE_PARAM)) return 1; @@ -2238,11 +2246,7 @@ bool Item_sum_count_distinct::setup(THD *thd) if (always_null) return 0; count_field_types(tmp_table_param,list,0); - if (table) - { - free_tmp_table(thd, table); - tmp_table_param->cleanup(); - } + DBUG_ASSERT(table == 0); if (!(table= create_tmp_table(thd, tmp_table_param, list, (ORDER*) 0, 1, 0, select_lex->options | thd->options, @@ -2251,123 +2255,77 @@ bool Item_sum_count_distinct::setup(THD *thd) table->file->extra(HA_EXTRA_NO_ROWS); // Don't update rows table->no_rows=1; - - // no blobs, otherwise it would be MyISAM if (table->s->db_type == DB_TYPE_HEAP) { + /* + No blobs, otherwise it would have been MyISAM: set up a compare + function and its arguments to use with Unique. + */ qsort_cmp2 compare_key; void* cmp_arg; + Field **field= table->field; + Field **field_end= field + table->s->fields; + bool all_binary= TRUE; - // to make things easier for dump_leaf if we ever have to dump to MyISAM - restore_record(table,s->default_values); - - if (table->s->fields == 1) + for (tree_key_length= 0; field < field_end; ++field) { - /* - If we have only one field, which is the most common use of - count(distinct), it is much faster to use a simpler key - compare method that can take advantage of not having to worry - about other fields - */ - Field* field = table->field[0]; - switch (field->type()) { - case MYSQL_TYPE_STRING: - case MYSQL_TYPE_VAR_STRING: - if (field->binary()) - { - compare_key = (qsort_cmp2)simple_raw_key_cmp; - cmp_arg = (void*) &key_length; - } - else - { - /* - If we have a string, we must take care of charsets and case - sensitivity - */ - compare_key = (qsort_cmp2)simple_str_key_cmp; - cmp_arg = (void*) this; - } - break; - default: - /* - Since at this point we cannot have blobs anything else can - be compared with memcmp - */ - compare_key = (qsort_cmp2)simple_raw_key_cmp; - cmp_arg = (void*) &key_length; - break; + Field *f= *field; + enum enum_field_types type= f->type(); + tree_key_length+= f->pack_length(); + if (!f->binary() && (type == MYSQL_TYPE_STRING || + type == MYSQL_TYPE_VAR_STRING || + type == MYSQL_TYPE_VARCHAR)) + { + all_binary= FALSE; + break; } - key_charset = field->charset(); - key_length = field->pack_length(); - rec_offset = 1; } - else // too bad, cannot cheat - there is more than one field + if (all_binary) { - bool all_binary = 1; - Field** field, **field_end; - field_end = (field = table->field) + table->s->fields; - uint32 *lengths; - if (!(field_lengths= - (uint32*) thd->alloc(sizeof(uint32) * table->s->fields))) - return 1; - - for (key_length = 0, lengths=field_lengths; field < field_end; ++field) + cmp_arg= (void*) &tree_key_length; + compare_key= (qsort_cmp2) simple_raw_key_cmp; + } + else + { + if (table->s->fields == 1) { - uint32 length= (*field)->pack_length(); - key_length += length; - *lengths++ = length; - if (!(*field)->binary()) - all_binary = 0; // Can't break loop here - } - rec_offset= table->s->reclength - key_length; - if (all_binary) - { - compare_key = (qsort_cmp2)simple_raw_key_cmp; - cmp_arg = (void*) &key_length; + /* + If we have only one field, which is the most common use of + count(distinct), it is much faster to use a simpler key + compare method that can take advantage of not having to worry + about other fields. + */ + compare_key= (qsort_cmp2) simple_str_key_cmp; + cmp_arg= (void*) table->field[0]; + /* tree_key_length has been set already */ } else { - compare_key = (qsort_cmp2) composite_key_cmp ; - cmp_arg = (void*) this; + uint32 *length; + compare_key= (qsort_cmp2) composite_key_cmp; + cmp_arg= (void*) this; + field_lengths= (uint32*) thd->alloc(table->s->fields * sizeof(uint32)); + for (tree_key_length= 0, length= field_lengths, field= table->field; + field < field_end; ++field, ++length) + { + *length= (*field)->pack_length(); + tree_key_length+= *length; + } } } - - if (use_tree) - delete_tree(tree); - init_tree(tree, min(thd->variables.max_heap_table_size, - thd->variables.sortbuff_size/16), 0, - key_length, compare_key, 0, NULL, cmp_arg); - use_tree = 1; - + DBUG_ASSERT(tree == 0); + tree= new Unique(compare_key, cmp_arg, tree_key_length, + thd->variables.max_heap_table_size); /* - The only time key_length could be 0 is if someone does + The only time tree_key_length could be 0 is if someone does count(distinct) on a char(0) field - stupid thing to do, but this has to be handled - otherwise someone can crash the server with a DoS attack */ - max_elements_in_tree = ((key_length) ? - thd->variables.max_heap_table_size/key_length : 1); - + if (! tree) + return TRUE; } - if (original) - { - original->table= table; - original->use_tree= use_tree; - } - return 0; -} - - -int Item_sum_count_distinct::tree_to_myisam() -{ - if (create_myisam_from_heap(current_thd, table, tmp_table_param, - HA_ERR_RECORD_FILE_FULL, 1) || - tree_walk(tree, (tree_walk_action)&dump_leaf, (void*)this, - left_root_right)) - return 1; - delete_tree(tree); - use_tree = 0; - return 0; + return FALSE; } @@ -2379,8 +2337,9 @@ Item *Item_sum_count_distinct::copy_or_same(THD* thd) void Item_sum_count_distinct::clear() { - if (use_tree) - reset_tree(tree); + /* tree and table can be both null only if always_null */ + if (tree) + tree->reset(); else if (table) { table->file->extra(HA_EXTRA_NO_CACHE); @@ -2401,32 +2360,21 @@ bool Item_sum_count_distinct::add() if ((*field)->is_real_null(0)) return 0; // Don't count NULL - if (use_tree) + if (tree) { /* - If the tree got too big, convert to MyISAM, otherwise insert into the - tree. + The first few bytes of record (at least one) are just markers + for deleted and NULLs. We want to skip them since they will + bloat the tree without providing any valuable info. Besides, + key_length used to initialize the tree didn't include space for them. */ - if (tree->elements_in_tree > max_elements_in_tree) - { - if (tree_to_myisam()) - return 1; - } - else if (!tree_insert(tree, table->record[0] + rec_offset, 0, - tree->custom_arg)) - return 1; + return tree->unique_add(table->record[0] + table->s->null_bytes); } - else if ((error=table->file->write_row(table->record[0]))) - { - if (error != HA_ERR_FOUND_DUPP_KEY && - error != HA_ERR_FOUND_DUPP_UNIQUE) - { - if (create_myisam_from_heap(current_thd, table, tmp_table_param, error, - 1)) - return 1; // Not a table_is_full error - } - } - return 0; + if ((error= table->file->write_row(table->record[0])) && + error != HA_ERR_FOUND_DUPP_KEY && + error != HA_ERR_FOUND_DUPP_UNIQUE) + return TRUE; + return FALSE; } @@ -2435,8 +2383,16 @@ longlong Item_sum_count_distinct::val_int() DBUG_ASSERT(fixed == 1); if (!table) // Empty query return LL(0); - if (use_tree) - return tree->elements_in_tree; + if (tree) + { + ulonglong count; + + if (tree->elements == 0) + return (longlong) tree->elements_in_tree(); // everything fits in memory + count= 0; + tree->walk(count_distinct_walk, (void*) &count); + return (longlong) count; + } table->file->info(HA_STATUS_VARIABLE | HA_STATUS_NO_LOCK); return table->file->records; } diff --git a/sql/item_sum.h b/sql/item_sum.h index 641acb0efd9..f6650f9c3d2 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -239,6 +239,7 @@ private: public: Item_sum_avg_distinct(Item *item_arg) : Item_sum_distinct(item_arg) {} + void fix_length_and_dec(); virtual void calculate_val_and_count(); enum Sumfunctype sum_func () const { return AVG_DISTINCT_FUNC; } const char *func_name() const { return "avg_distinct"; } @@ -280,68 +281,44 @@ class TMP_TABLE_PARAM; class Item_sum_count_distinct :public Item_sum_int { TABLE *table; - table_map used_table_cache; uint32 *field_lengths; TMP_TABLE_PARAM *tmp_table_param; - TREE tree_base; - TREE *tree; - /* - Following is 0 normal object and pointer to original one for copy - (to correctly free resources) - */ - Item_sum_count_distinct *original; - - uint key_length; - CHARSET_INFO *key_charset; - - /* - Calculated based on max_heap_table_size. If reached, - walk the tree and dump it into MyISAM table - */ - uint max_elements_in_tree; - - /* - The first few bytes of record ( at least one) - are just markers for deleted and NULLs. We want to skip them since - they will just bloat the tree without providing any valuable info - */ - int rec_offset; - /* If there are no blobs, we can use a tree, which is faster than heap table. In that case, we still use the table to help get things set up, but we insert nothing in it */ - bool use_tree; + Unique *tree; + /* + Following is 0 normal object and pointer to original one for copy + (to correctly free resources) + */ + Item_sum_count_distinct *original; + uint tree_key_length; + + bool always_null; // Set to 1 if the result is always NULL - int tree_to_myisam(); friend int composite_key_cmp(void* arg, byte* key1, byte* key2); friend int simple_str_key_cmp(void* arg, byte* key1, byte* key2); - friend int simple_raw_key_cmp(void* arg, byte* key1, byte* key2); - friend int dump_leaf(byte* key, uint32 count __attribute__((unused)), - Item_sum_count_distinct* item); - public: +public: Item_sum_count_distinct(List &list) - :Item_sum_int(list), table(0), used_table_cache(~(table_map) 0), - tmp_table_param(0), tree(&tree_base), original(0), use_tree(0), - always_null(0) + :Item_sum_int(list), table(0), field_lengths(0), tmp_table_param(0), + tree(0), original(0), always_null(FALSE) { quick_group= 0; } Item_sum_count_distinct(THD *thd, Item_sum_count_distinct *item) :Item_sum_int(thd, item), table(item->table), - used_table_cache(item->used_table_cache), field_lengths(item->field_lengths), tmp_table_param(item->tmp_table_param), - tree(item->tree), original(item), key_length(item->key_length), - max_elements_in_tree(item->max_elements_in_tree), - rec_offset(item->rec_offset), use_tree(item->use_tree), + tree(item->tree), original(item), tree_key_length(item->tree_key_length), always_null(item->always_null) {} + ~Item_sum_count_distinct(); + void cleanup(); - table_map used_tables() const { return used_table_cache; } enum Sumfunctype sum_func () const { return COUNT_DISTINCT_FUNC; } void clear(); bool add(); diff --git a/sql/sql_class.h b/sql/sql_class.h index 2335ff54bfd..d3d0b78a769 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1831,6 +1831,7 @@ public: Unique(qsort_cmp2 comp_func, void *comp_func_fixed_arg, uint size_arg, ulong max_in_memory_size_arg); ~Unique(); + ulong elements_in_tree() { return tree.elements_in_tree; } inline bool unique_add(void *ptr) { DBUG_ENTER("unique_add"); From 6d0ec316a84fc85d8e327dafdf30aaccb0024b34 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 19:59:00 -0600 Subject: [PATCH 104/124] mysql.1.in: Fix path that needs no parameterization. man/mysql.1.in: Fix path that needs no parameterization. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + man/mysql.1.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index f8621170f64..ef04f36c433 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -112,6 +112,7 @@ paul@central.snake.net paul@ice.local paul@ice.snake.net paul@kite-hub.kitebird.com +paul@snake-hub.snake.net paul@teton.kitebird.com pem@mysql.com peter@linux.local diff --git a/man/mysql.1.in b/man/mysql.1.in index 35ff48693e1..7330ac8125b 100644 --- a/man/mysql.1.in +++ b/man/mysql.1.in @@ -107,7 +107,7 @@ version number and exit. Wait and retry if the database server connection is down. .SH FILES .TP 2.2i -.I @sysconfdir@/my.cnf +.I /etc/my.cnf MySQL configuration file .TP .I @bindir@/mysql From f56889321f9062f4b9af4664a9a8387a21534354 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 08:33:47 +0200 Subject: [PATCH 105/124] buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user innobase/buf/buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user --- innobase/buf/buf0flu.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/innobase/buf/buf0flu.c b/innobase/buf/buf0flu.c index 964c396dd08..4df0e9962fb 100644 --- a/innobase/buf/buf0flu.c +++ b/innobase/buf/buf0flu.c @@ -115,7 +115,15 @@ buf_flush_ready_for_replace( #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(buf_pool->mutex))); #endif /* UNIV_SYNC_DEBUG */ - ut_a(block->state == BUF_BLOCK_FILE_PAGE); + if (block->state != BUF_BLOCK_FILE_PAGE) { + ut_print_timestamp(stderr); + fprintf(stderr, +" InnoDB: Error: buffer block state %lu in the LRU list!\n", + (ulong)block->state); + ut_print_buf(stderr, (byte*)block, sizeof(buf_block_t)); + + return(FALSE); + } if ((ut_dulint_cmp(block->oldest_modification, ut_dulint_zero) > 0) || (block->buf_fix_count != 0) From 1defb94df7b341be4d09933a771c4687160fcc86 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 10:27:44 +0300 Subject: [PATCH 106/124] Updated tests results for BUG#8510 --- mysql-test/r/sp.result | 2 +- mysql-test/r/strict.result | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index afc014bc4ae..2984bd3975f 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -2030,7 +2030,7 @@ bug2564_3 CREATE FUNCTION `test`.`bug2564_3`(x int, y int) RETURNS int(11) return x || y show create function bug2564_4| Function sql_mode Create Function -bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI CREATE FUNCTION "test"."bug2564_4"(x int, y int) RETURNS int(11) +bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI CREATE FUNCTION "test"."bug2564_4"(x int, y int) RETURNS int(11) return x || y drop procedure bug2564_1| drop procedure bug2564_2| diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result index 18680b0f5a6..c3d2533a2e3 100644 --- a/mysql-test/r/strict.result +++ b/mysql-test/r/strict.result @@ -1,7 +1,7 @@ set @@sql_mode='ansi,traditional'; select @@sql_mode; @@sql_mode -REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER DROP TABLE IF EXISTS t1; CREATE TABLE t1 (col1 date); INSERT INTO t1 VALUES('2004-01-01'),('0000-10-31'),('2004-02-29'); From 2b1a8acda50217f29af46d5a107aaec547d43591 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 00:32:21 -0800 Subject: [PATCH 107/124] This changeset contains changes approved in code review by Konstja and Georg, change sets 1.1806, 1.1805. These changes has been successfully tested on both my own workstation (Suse 9.0) and production.mysql.com. mysql-test/r/federated.result: new test results for error handling tests. mysql-test/t/federated.test: new error handling tests sql/ha_federated.cc: - check_foreign_data source added - table names now enclosed in '`' to allow for '%' or other characters - better error handling - mysql_init now checked to see if it returns true/false, error out if false (Georg) BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + mysql-test/r/federated.result | 116 +++++++++++++++++++++- mysql-test/t/federated.test | 164 +++++++++++++++++++++++++++---- sql/ha_federated.cc | 177 +++++++++++++++++++++++++++++----- 4 files changed, 416 insertions(+), 42 deletions(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index c5b9e9d7112..eff53f4a789 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -182,6 +182,7 @@ ndbdev@shark. nick@mysql.com nick@nick.leippe.com papa@gbichot.local +patg@krsna. patg@krsna.patg.net patg@patrick-galbraiths-computer.local patg@pc248.lfp.kcls.org diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result index 00c52a53c42..9c524dd7264 100644 --- a/mysql-test/r/federated.result +++ b/mysql-test/r/federated.result @@ -8,6 +8,120 @@ stop slave; DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +DEFAULT CHARSET=latin1; +DROP DATABASE IF EXISTS federated; +CREATE DATABASE federated; +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:@/too/many/items/federated/t1'; +ERROR HY000: Can't create table 'this connection string is not in the correct format! +' (errno: 0) +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1'; +ERROR HY000: Can't create table 'this connection string is not in the correct format! +' (errno: 0) +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t3'; +ERROR HY000: Error running query on master: foreign table 't3' does not exist! +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1'; +ERROR 08S01: Error connecting to master: unable to connect to database 'federated' on host '127.0.0.1 as user 'user' ! +DROP TABLE IF EXISTS federated.t1; +Warnings: +Note 1051 Unknown table 't1' +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'; +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.t1; +id name +1 foo +2 fee +DELETE FROM federated.t1; +DROP TABLE federated.t1; +DROP TABLE IF EXISTS federated.t2; +Warnings: +Note 1051 Unknown table 't2' +CREATE TABLE federated.t2 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'; +INSERT INTO federated.t2 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t2 (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.t2; +id name +1 foo +2 fee +DROP TABLE federated.t2; +DROP TABLE IF EXISTS federated.t1; +DROP TABLE IF EXISTS federated.`t1%`; +Warnings: +Note 1051 Unknown table 't1%' +CREATE TABLE federated.`t1%` ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +DEFAULT CHARSET=latin1; +DROP TABLE IF EXISTS federated.t1; +Warnings: +Note 1051 Unknown table 't1' +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1%'; +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.t1; +id name +1 foo +2 fee +DELETE FROM federated.t1; +DROP TABLE IF EXISTS federated.t1; +CREATE TABLE federated.`t1%` ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:9308/federated/t1%'; +INSERT INTO federated.`t1%` (id, name) VALUES (1, 'foo'); +INSERT INTO federated.`t1%` (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.`t1%`; +id name +1 foo +2 fee +DELETE FROM federated.`t1%`; +DROP TABLE IF EXISTS federated.`t1%`; +DROP TABLE IF EXISTS federated.`t1%`; +DROP TABLE IF EXISTS federated.t1; +Warnings: +Note 1051 Unknown table 't1' +CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', `other` int(20) NOT NULL default '0', @@ -16,8 +130,6 @@ PRIMARY KEY (`id`), KEY `name` (`name`), KEY `other_key` (`other`)) DEFAULT CHARSET=latin1; -DROP DATABASE IF EXISTS federated; -CREATE DATABASE federated; CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', diff --git a/mysql-test/t/federated.test b/mysql-test/t/federated.test index 5c6eb8db179..850213e6916 100644 --- a/mysql-test/t/federated.test +++ b/mysql-test/t/federated.test @@ -14,7 +14,136 @@ DROP DATABASE IF EXISTS federated; --enable_warnings CREATE DATABASE federated; +CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + DEFAULT CHARSET=latin1; + +connection master; +--disable_warnings +DROP DATABASE IF EXISTS federated; +--enable_warnings +CREATE DATABASE federated; + +# test too many items (malformed) in the comment string url +--error 1005 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:@/too/many/items/federated/t1'; + +# test not enough items (malformed) in the comment string url +--error 1005 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1'; + +# test non-existant table +--replace_result $SLAVE_MYPORT SLAVE_PORT +--error 1219 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t3'; + +# test bad user/password +--replace_result $SLAVE_MYPORT SLAVE_PORT +--error 1218 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://user:pass@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + +DROP TABLE IF EXISTS federated.t1; +# # correct connection, same named tables +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.t1; +DELETE FROM federated.t1; +DROP TABLE federated.t1; + +# correct connection, differently named tables +DROP TABLE IF EXISTS federated.t2; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t2 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + +INSERT INTO federated.t2 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t2 (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.t2; +DROP TABLE federated.t2; + +connection slave; +DROP TABLE IF EXISTS federated.t1; + +DROP TABLE IF EXISTS federated.`t1%`; +CREATE TABLE federated.`t1%` ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + DEFAULT CHARSET=latin1; + +connection master; +DROP TABLE IF EXISTS federated.t1; + +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1%'; + +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.t1; +DELETE FROM federated.t1; +DROP TABLE IF EXISTS federated.t1; + +eval CREATE TABLE federated.`t1%` ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1%'; + +INSERT INTO federated.`t1%` (id, name) VALUES (1, 'foo'); +INSERT INTO federated.`t1%` (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.`t1%`; +DELETE FROM federated.`t1%`; +DROP TABLE IF EXISTS federated.`t1%`; + +connection slave; +DROP TABLE IF EXISTS federated.`t1%`; + # I wanted to use timestamp, but results will fail if so!!! +DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', @@ -25,12 +154,8 @@ CREATE TABLE federated.t1 ( KEY `other_key` (`other`)) DEFAULT CHARSET=latin1; -connection master; ---disable_warnings -DROP DATABASE IF EXISTS federated; ---enable_warnings -CREATE DATABASE federated; +connection master; --replace_result $SLAVE_MYPORT SLAVE_PORT eval CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, @@ -660,33 +785,36 @@ INSERT INTO federated.t1 VALUES (0x0001); INSERT INTO federated.t1 VALUES (0x0100); SELECT HEX(a) FROM federated.t1; - -# TODO -# -# CREATE TABLE federated.t1 -# (a char(20)) charset=cp1251 -# ENGINE="FEDERATED" COMMENT="mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1"; -# -# connection slave; +# # simple tests for cyrillic, given to me by +# DROP TABLE IF EXISTS federated.t1; +# --replace_result $SLAVE_MYPORT SLAVE_PORT +# eval CREATE TABLE federated.t1 +# (a char(20)) charset=cp1251 +# ENGINE="FEDERATED" COMMENT="mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1"; +# # +# connection slave; # DROP TABLE IF EXISTS federated.t1; # CREATE TABLE federated.t1 (a char(20)) charset=cp1251; -# -# connection master; +# # +# connection master; # INSERT INTO federated.t1 values (_cp1251'À-ÁÂÃ-1'); # INSERT INTO federated.t1 values (_cp1251'Á-ÂÃÄ-2'); +# SELECT * FROM federated.t1; # SET names cp1251; # INSERT INTO federated.t1 values ('Â-ÃÄÅ-3'); # INSERT INTO federated.t1 values ('Ã-ŨÆ-4'); # SELECT * FROM federated.t1; -# select hex(a) from federated.t1; -# select hex(a) from federated.t1 ORDER BY a desc; -# update federated.t1 SET a='À-ÁÂÃ-1íîâûé' WHERE a='À-ÁÂÃ-1'; +# SELECT hex(a) from federated.t1; +# SELECT hex(a) from federated.t1 ORDER BY a desc; +# UPDATE federated.t1 SET a='À-ÁÂÃ-1íîâûé' WHERE a='À-ÁÂÃ-1'; # SELECT * FROM federated.t1; # DELETE FROM federated.t1 WHERE a='Ã-ŨÆ-4'; # SELECT * FROM federated.t1; # DELETE FROM federated.t1 WHERE a>'Â-'; # SELECT * FROM federated.t1; # SET names default; +# DROP TABLE IF EXISTS federated.t1; + # # DROP TABLE IF EXISTS federated.t1; # diff --git a/sql/ha_federated.cc b/sql/ha_federated.cc index 06e7a2f0aa6..215a8daf200 100644 --- a/sql/ha_federated.cc +++ b/sql/ha_federated.cc @@ -414,6 +414,99 @@ bool federated_db_end() return FALSE; } + +/* + Check (in create) whether the tables exists, and that it can be connected to + + SYNOPSIS + check_foreign_data_source() + share pointer to FEDERATED share + + DESCRIPTION + This method first checks that the connection information that parse url + has populated into the share will be sufficient to connect to the foreign + table, and if so, does the foreign table exist. +*/ + +static int check_foreign_data_source(FEDERATED_SHARE *share) +{ + char escaped_table_base_name[IO_SIZE]; + MYSQL *mysql; + MYSQL_RES *result=0; + uint error_code; + char query_buffer[IO_SIZE]; + char error_buffer[IO_SIZE]; + String query(query_buffer, sizeof(query_buffer), &my_charset_bin); + DBUG_ENTER("ha_federated::check_foreign_data_source"); + query.length(0); + + /* error out if we can't alloc memory for mysql_init(NULL) (per Georg) */ + if (! (mysql= mysql_init(NULL))) + { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); + } + /* check if we can connect */ + if (!mysql_real_connect(mysql, + share->hostname, + share->username, + share->password, + share->database, + share->port, + share->socket, 0)) + { + my_sprintf(error_buffer, + (error_buffer, + "unable to connect to database '%s' on host '%s as user '%s' !", + share->database, share->hostname, share->username)); + error_code= ER_CONNECT_TO_MASTER; + goto error; + } + else + { + /* + Note: I am not using INORMATION_SCHEMA because this needs to work with < 5.0 + if we can connect, then make sure the table exists + */ + query.append("SHOW TABLES LIKE '"); + escape_string_for_mysql(&my_charset_bin, (char *)escaped_table_base_name, + share->table_base_name, + share->table_base_name_length); + query.append(escaped_table_base_name); + query.append("'"); + + error_code= ER_QUERY_ON_MASTER; + if (mysql_real_query(mysql, query.ptr(), query.length())) + goto error; + + result= mysql_store_result(mysql); + if (! result) + goto error; + + /* if ! mysql_num_rows, the table doesn't exist, send error */ + if (! mysql_num_rows(result)) + { + my_sprintf(error_buffer, + (error_buffer, "foreign table '%s' does not exist!", + share->table_base_name)); + goto error; + } + mysql_free_result(result); + result= 0; + mysql_close(mysql); + + } + DBUG_RETURN(0); + +error: + if (result) + mysql_free_result(result); + mysql_close(mysql); + my_error(error_code, MYF(0), error_buffer); + DBUG_RETURN(error_code); + +} + + /* Parse connection info from table->s->comment @@ -521,6 +614,8 @@ static int parse_url(FEDERATED_SHARE *share, TABLE *table, } else goto error; + + share->table_base_name_length= strlen(share->table_base_name); } else goto error; @@ -545,6 +640,17 @@ static int parse_url(FEDERATED_SHARE *share, TABLE *table, share->scheme, share->username, share->password, share->hostname, share->port, share->database, share->table_base_name)); + + /* If creation, check first if we can connect and that the table exists */ + /*if (table_create_flag) + { + if (check_foreign_data_source(share)) + goto error; + */ + /* free share->schema even if no error, since this is a create */ + /* + my_free((gptr) share->scheme, MYF(0)); + }*/ } else goto error; @@ -561,6 +667,7 @@ error: } + /* Convert MySQL result set row to handler internal format @@ -778,15 +885,14 @@ static FEDERATED_SHARE *get_share(const char *table_name, TABLE *table) table_name_length))) { query.set_charset(system_charset_info); - query.append("SELECT * FROM "); - query.append(table_base_name); + query.append("SELECT * FROM `"); if (!(share= (FEDERATED_SHARE *) my_multi_malloc(MYF(MY_WME | MY_ZEROFILL), &share, sizeof(*share), &tmp_table_name, table_name_length + 1, - &tmp_table_base_name, table_base_name_length + 1, - &select_query, query.length() + 1, NullS))) + &select_query, query.length() + + strlen(table->s->comment) + 1, NullS))) { pthread_mutex_unlock(&federated_mutex); return NULL; @@ -795,14 +901,13 @@ static FEDERATED_SHARE *get_share(const char *table_name, TABLE *table) if (parse_url(share, table, 0)) goto error; + query.append(share->table_base_name); + query.append("`"); share->use_count= 0; share->table_name_length= table_name_length; share->table_name= tmp_table_name; - share->table_base_name_length= table_base_name_length; - share->table_base_name= tmp_table_base_name; share->select_query= select_query; strmov(share->table_name, table_name); - strmov(share->table_base_name, table_base_name); strmov(share->select_query, query.ptr()); DBUG_PRINT("ha_federated::get_share", ("share->select_query %s", share->select_query)); @@ -820,7 +925,6 @@ error: pthread_mutex_unlock(&federated_mutex); if (share->scheme) my_free((gptr) share->scheme, MYF(0)); - VOID(pthread_mutex_destroy(&share->mutex)); my_free((gptr) share, MYF(0)); return NULL; @@ -1016,6 +1120,8 @@ int ha_federated::write_row(byte *buf) insert_field_value_string.length(0); DBUG_ENTER("ha_federated::write_row"); + DBUG_PRINT("ha_federated::write_row", ("table charset name %s csname %s", + table->s->table_charset->name, table->s->table_charset->csname)); statistic_increment(table->in_use->status_var.ha_write_count, &LOCK_status); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT) @@ -1031,8 +1137,9 @@ int ha_federated::write_row(byte *buf) current_query_id)); /* start off our string */ - insert_string.append("INSERT INTO "); + insert_string.append("INSERT INTO `"); insert_string.append(share->table_base_name); + insert_string.append("`"); /* start both our field and field values strings */ insert_string.append(" ("); values_string.append(" VALUES ("); @@ -1056,7 +1163,7 @@ int ha_federated::write_row(byte *buf) for (field= table->field; *field; field++, x++) { DBUG_PRINT("ha_federated::write_row", ("field type %d", (*field)->type())); - // if there is a query id and if it's equal to the current query id + /* if there is a query id and if it's equal to the current query id */ if (((*field)->query_id && (*field)->query_id == current_query_id) || all_fields_have_same_query_id) { @@ -1076,8 +1183,7 @@ int ha_federated::write_row(byte *buf) current_query_id, (*field)->query_id)); (*field)->val_str(&insert_field_value_string); /* quote these fields if they require it */ - (*field)->quote_data(&insert_field_value_string); - } + (*field)->quote_data(&insert_field_value_string); } /* append the field name */ insert_string.append((*field)->field_name); @@ -1162,20 +1268,19 @@ int ha_federated::update_row(const byte *old_data, byte *new_data) /* stores the value to be replaced of the field were are updating */ String old_field_value(old_field_value_buffer, sizeof(old_field_value_buffer), &my_charset_bin); - old_field_value.length(0); /* stores the new value of the field */ String new_field_value(new_field_value_buffer, sizeof(new_field_value_buffer), &my_charset_bin); - new_field_value.length(0); /* stores the update query */ String update_string(update_buffer, sizeof(update_buffer), &my_charset_bin); - update_string.length(0); /* stores the WHERE clause */ String where_string(where_buffer, sizeof(where_buffer), &my_charset_bin); - where_string.length(0); DBUG_ENTER("ha_federated::update_row"); - + old_field_value.length(0); + new_field_value.length(0); + update_string.length(0); + where_string.length(0); has_a_primary_key= (table->s->primary_key == 0 ? 1 : 0); primary_key_field_num= has_a_primary_key ? @@ -1183,8 +1288,9 @@ int ha_federated::update_row(const byte *old_data, byte *new_data) if (has_a_primary_key) DBUG_PRINT("ha_federated::update_row", ("has a primary key")); - update_string.append("UPDATE "); + update_string.append("UPDATE `"); update_string.append(share->table_base_name); + update_string.append("`"); update_string.append(" SET "); /* @@ -1312,8 +1418,9 @@ int ha_federated::delete_row(const byte *buf) DBUG_ENTER("ha_federated::delete_row"); - delete_string.append("DELETE FROM "); + delete_string.append("DELETE FROM `"); delete_string.append(share->table_base_name); + delete_string.append("`"); delete_string.append(" WHERE "); for (Field **field= table->field; *field; field++, x++) @@ -1395,6 +1502,7 @@ int ha_federated::index_read_idx(byte *buf, uint index, const byte *key, sql_query.length(0); DBUG_ENTER("ha_federated::index_read_idx"); + statistic_increment(table->in_use->status_var.ha_read_key_count, &LOCK_status); @@ -1576,6 +1684,16 @@ int ha_federated::rnd_next(byte *buf) MYSQL_ROW row; DBUG_ENTER("ha_federated::rnd_next"); + if (result == 0) + { + /* + Return value of rnd_init is not always checked (see records.cc), + so we can get here _even_ if there is _no_ pre-fetched result-set! + TODO: fix it. + */ + DBUG_RETURN(1); + } + /* Fetch a row, insert it back in a row format. */ current_position= result->data_cursor; DBUG_PRINT("ha_federated::rnd_next", @@ -1716,8 +1834,9 @@ int ha_federated::delete_all_rows() query.length(0); query.set_charset(system_charset_info); - query.append("TRUNCATE "); + query.append("TRUNCATE `"); query.append(share->table_base_name); + query.append("`"); if (mysql_real_query(mysql, query.ptr(), query.length())) { @@ -1803,14 +1922,28 @@ THR_LOCK_DATA **ha_federated::store_lock(THD *thd, int ha_federated::create(const char *name, TABLE *table_arg, HA_CREATE_INFO *create_info) { + int connection_error=0; FEDERATED_SHARE tmp; DBUG_ENTER("ha_federated::create"); + if (parse_url(&tmp, table_arg, 1)) { - my_error(ER_CANT_CREATE_TABLE, MYF(0)); - DBUG_RETURN(ER_CANT_CREATE_TABLE); + my_error(ER_CANT_CREATE_TABLE, MYF(0), name, 1); + goto error; } + if ((connection_error= check_foreign_data_source(&tmp))) + { + my_error(connection_error, MYF(0), name, 1); + goto error; + } + my_free((gptr) tmp.scheme, MYF(0)); DBUG_RETURN(0); + +error: + DBUG_PRINT("ha_federated::create", ("errors, returning %d", ER_CANT_CREATE_TABLE)); + my_free((gptr) tmp.scheme, MYF(0)); + DBUG_RETURN(ER_CANT_CREATE_TABLE); + } #endif /* HAVE_FEDERATED_DB */ From 9c04a77e0c69728941387e88bd118adbc0374c45 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 13:32:12 +0400 Subject: [PATCH 108/124] A fix (bug #8489: Strange auto_increment behaviour with HEAP table). heap/hp_create.c: A fix (bug #8489: Strange auto_increment behaviour with HEAP table). Handle autoincrement keys MyISAM-way. include/heap.h: A fix (bug #8489: Strange auto_increment behaviour with HEAP table). Handle autoincrement keys MyISAM-way. sql/ha_heap.cc: A fix (bug #8489: Strange auto_increment behaviour with HEAP table). Handle autoincrement keys MyISAM-way. --- heap/hp_create.c | 3 ++- include/heap.h | 2 +- mysql-test/r/heap.result | 42 ++++++++++++++++++++++++++++++++++++++++ mysql-test/t/heap.test | 29 +++++++++++++++++++++++++++ sql/ha_heap.cc | 12 ++++++++---- 5 files changed, 82 insertions(+), 6 deletions(-) diff --git a/heap/hp_create.c b/heap/hp_create.c index af32fefea1b..b1b132a16fb 100644 --- a/heap/hp_create.c +++ b/heap/hp_create.c @@ -137,6 +137,8 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef, keyinfo->write_key= hp_write_key; keyinfo->hash_buckets= 0; } + if ((keyinfo->flag & HA_AUTO_KEY) && create_info->with_auto_increment) + share->auto_key= i + 1; } share->min_records= min_records; share->max_records= max_records; @@ -147,7 +149,6 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef, share->keys= keys; share->max_key_length= max_length; share->changed= 0; - share->auto_key= create_info->auto_key; share->auto_key_type= create_info->auto_key_type; share->auto_increment= create_info->auto_increment; /* Must be allocated separately for rename to work */ diff --git a/include/heap.h b/include/heap.h index ac2b38d1f2d..51f7b0cfa6a 100644 --- a/include/heap.h +++ b/include/heap.h @@ -183,10 +183,10 @@ typedef struct st_heap_info typedef struct st_heap_create_info { - uint auto_key; uint auto_key_type; ulong max_table_size; ulonglong auto_increment; + my_bool with_auto_increment; } HP_CREATE_INFO; /* Prototypes for heap-functions */ diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result index b1cd17b444c..29207a4ae98 100644 --- a/mysql-test/r/heap.result +++ b/mysql-test/r/heap.result @@ -249,3 +249,45 @@ a 3 2 drop table t1; +create table t1 (a bigint unsigned auto_increment primary key, b int, +key (b, a)) engine=heap; +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +select * from t1; +a b +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +7 1 +8 1 +drop table t1; +create table t1 (a int not null, b int not null auto_increment, +primary key(a, b), key(b)) engine=heap; +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +select * from t1; +a b +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +drop table t1; diff --git a/mysql-test/t/heap.test b/mysql-test/t/heap.test index bc0b28370ec..e082993a58e 100644 --- a/mysql-test/t/heap.test +++ b/mysql-test/t/heap.test @@ -195,3 +195,32 @@ delete from t1 where a is null; insert into t1 values ('2'), ('3'); select * from t1; drop table t1; + +# +# Bug #8489: Strange auto_increment behaviour +# + +create table t1 (a bigint unsigned auto_increment primary key, b int, + key (b, a)) engine=heap; +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +select * from t1; +drop table t1; +create table t1 (a int not null, b int not null auto_increment, + primary key(a, b), key(b)) engine=heap; +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +select * from t1; +drop table t1; diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc index 3c2249ce281..c483ab8fffa 100644 --- a/sql/ha_heap.cc +++ b/sql/ha_heap.cc @@ -446,6 +446,7 @@ int ha_heap::create(const char *name, TABLE *table_arg, HA_KEYSEG *seg; char buff[FN_REFLEN]; int error; + bool found_real_auto_increment= 0; for (key= parts= 0; key < table_arg->keys; key++) parts+= table_arg->key_info[key].key_parts; @@ -506,17 +507,20 @@ int ha_heap::create(const char *name, TABLE *table_arg, seg->null_bit= 0; seg->null_pos= 0; } + // We have to store field->key_type() as seg->type can differ from it if (field->flags & AUTO_INCREMENT_FLAG) - { - auto_key= key + 1; auto_key_type= field->key_type(); - } } } + if (table_arg->found_next_number_field) + { + keydef[table_arg->next_number_index].flag|= HA_AUTO_KEY; + found_real_auto_increment= table_arg->next_number_key_offset == 0; + } mem_per_row+= MY_ALIGN(table_arg->reclength + 1, sizeof(char*)); HP_CREATE_INFO hp_create_info; - hp_create_info.auto_key= auto_key; hp_create_info.auto_key_type= auto_key_type; + hp_create_info.with_auto_increment= found_real_auto_increment; hp_create_info.auto_increment= (create_info->auto_increment_value ? create_info->auto_increment_value - 1 : 0); hp_create_info.max_table_size=current_thd->variables.max_heap_table_size; From 7d63831484f88d397ef2b632eb2a3da3edb0c55a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 11:50:44 +0200 Subject: [PATCH 109/124] dict0load.c: dict_load_table(): Remove unused label that was accidentally introduced in a 4.0->4.1->5.0 merge. innobase/dict/dict0load.c: dict_load_table(): Remove unused label that was accidentally introduced in a 4.0->4.1->5.0 merge. --- innobase/dict/dict0load.c | 1 - 1 file changed, 1 deletion(-) diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index 8bf106dbf36..289b5dab4f2 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -769,7 +769,6 @@ dict_load_table( /* Check if the table name in record is the searched one */ if (len != ut_strlen(name) || ut_memcmp(name, field, len) != 0) { - err_exit: btr_pcur_close(&pcur); mtr_commit(&mtr); mem_heap_free(heap); From b0b08e6c10da2e8e0b97d4d99b39a1b590fdd48c Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 11:55:27 +0100 Subject: [PATCH 110/124] Avoid compilation error: On IRIX, identifiers with loop scope still need to be unique at function level. ndb/src/ndbapi/NdbEventOperationImpl.cpp: Avoid compilation error: On IRIX, variables declared within a loop control statement seem to have function scope. Either use different identifiers, or declare them at function level. --- ndb/src/ndbapi/NdbEventOperationImpl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ndb/src/ndbapi/NdbEventOperationImpl.cpp b/ndb/src/ndbapi/NdbEventOperationImpl.cpp index b00b0d82cba..e74bd93205c 100644 --- a/ndb/src/ndbapi/NdbEventOperationImpl.cpp +++ b/ndb/src/ndbapi/NdbEventOperationImpl.cpp @@ -536,9 +536,10 @@ NdbEventOperationImpl::getEventType() void NdbEventOperationImpl::print() { + int i; ndbout << "EventId " << m_eventId << "\n"; - for (int i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { NdbRecAttr *p = theFirstPkAttrs[i]; ndbout << " %u " << i; while (p) { @@ -547,7 +548,7 @@ NdbEventOperationImpl::print() } ndbout << "\n"; } - for (int i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { NdbRecAttr *p = theFirstDataAttrs[i]; ndbout << " %u " << i; while (p) { From 487d867071a8e1002f99aaec9a31001d2beba6e1 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 12:01:41 +0100 Subject: [PATCH 111/124] ndb - valgrind/compile fix Transporter.cpp: missing return ndb/src/common/transporter/Transporter.cpp: missing return --- ndb/src/common/transporter/Transporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndb/src/common/transporter/Transporter.cpp b/ndb/src/common/transporter/Transporter.cpp index 86e9b8c8171..124ed5f7241 100644 --- a/ndb/src/common/transporter/Transporter.cpp +++ b/ndb/src/common/transporter/Transporter.cpp @@ -124,7 +124,7 @@ Transporter::connect_client() { else sockfd= m_socket_client->connect(); - connect_client(sockfd); + return connect_client(sockfd); } bool From 39005884b546d9a250dd4d7be113882b292b7146 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 12:23:14 +0100 Subject: [PATCH 112/124] Applied some changes to the mysql.server init script that are already shipped as an additional patch in the 4.1.10a RPMs for SLES9/RHEL3: - small improvement: use LSB functions to display startup success and failure, if available. Fall back to more primitive builtin functions otherwise. - joined two pieces of code performing the same functionality into one "wait_for_pid" function - added a "reload" function (LSB requirement) support-files/mysql.server.sh: - small improvement: use LSB functions to display startup success and failure, if available. Fall back to builtin functions otherwise. - joined two pieces of code performing the same functionality into one "wait_for_pid" function - added a "reload" function (LSB requirement) --- support-files/mysql.server.sh | 61 +++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index 849f913bf6c..4283af919a5 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -54,6 +54,17 @@ else bindir="$basedir/bin" fi +# +# Use LSB init script functions for printing messages, if possible +# +lsb_functions="/lib/lsb/init-functions" +if test -f $lsb_functions ; then + source $lsb_functions +else + alias log_success_msg="echo \ SUCCESS! " + alias log_failure_msg="echo \ ERROR! " +fi + PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin export PATH @@ -75,6 +86,20 @@ parse_arguments() { done } +wait_for_pid () { + for((i=0; i<35; i++)); do + sleep 1 + test -s $pid_file && i='' && break + echo $echo_n ".$echo_c" + done + + if test -z "$i" ; then + log_success_msg + else + log_failure_msg + fi +} + # Get arguments from the my.cnf file, # groups [mysqld] [mysql_server] and [mysql.server] if test -x ./bin/my_print_defaults @@ -151,14 +176,17 @@ case "$mode" in then # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. + echo $echo_n "Starting MySQL" $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 & + wait_for_pid + # Make lock for RedHat / SuSE if test -w /var/lock/subsys then touch /var/lock/subsys/mysql fi else - echo "Can't execute $bindir/mysqld_safe from dir $basedir" + log_failure_msg "Can't execute $bindir/mysqld_safe" fi ;; @@ -168,29 +196,18 @@ case "$mode" in if test -s "$pid_file" then mysqld_pid=`cat $pid_file` - echo "Killing mysqld with pid $mysqld_pid" + echo $echo_n "Shutting down MySQL" kill $mysqld_pid # mysqld should remove the pid_file when it exits, so wait for it. + wait_for_pid - sleep 1 - while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ] - do - [ -z "$flags" ] && echo $echo_n "Wait for mysqld to exit$echo_c" || echo $echo_n ".$echo_c" - flags=a$flags - sleep 1 - done - if [ -s $pid_file ] - then echo " gave up waiting!" - elif [ -n "$flags" ] - then echo " done" - fi # delete lock for RedHat / SuSE if test -f /var/lock/subsys/mysql then rm -f /var/lock/subsys/mysql fi else - echo "No mysqld pid file found. Looked for $pid_file." + log_failure_msg "MySQL PID file could not be found!" fi ;; @@ -199,11 +216,21 @@ case "$mode" in # running or not, start it again. $0 stop $0 start - ;; + ;; + + 'reload') + if test -s "$pid_file" ; then + mysqld_pid=`cat $pid_file` + kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL" + touch $pid_file + else + log_failure_msg "MySQL PID file could not be found!" + fi + ;; *) # usage - echo "Usage: $0 start|stop|restart" + echo "Usage: $0 start|stop|restart|reload" exit 1 ;; esac From 8418e31fc35d150bcac4fa646db11cdb5e8fc4bd Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 12:27:44 +0100 Subject: [PATCH 113/124] - Build fix for Do-solaris-pkg: fixed package name matching regex to be satisfied with "mysql-pro-gpl-cert" packages as well (thanks to Kent for the suggestion) Build-tools/Do-solaris-pkg: - fixed package name matching regex to be satisfied with "mysql-pro-gpl-cert" packages as well (thanks to Kent for the suggestion) --- Build-tools/Do-solaris-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Build-tools/Do-solaris-pkg b/Build-tools/Do-solaris-pkg index 8815033146c..22d68793808 100644 --- a/Build-tools/Do-solaris-pkg +++ b/Build-tools/Do-solaris-pkg @@ -57,7 +57,7 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n"; # First get some info $fullname =~ s,/+$,,; # Remove ending slash if any -$fullname =~ /^((mysql)-\w+-?\w+?)-([\d\.]+\w?)-.+$/ +$fullname =~ /^((mysql)(?:-\w+){1,3})-([\d\.]+\w?)-.+$/ or die "This name is not what I expected - \"$fullname\""; $default{"name"}= $2; From 0ba3164e0e0fa7217059413440f7ab2f844efce7 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 15:32:11 +0400 Subject: [PATCH 114/124] A fix (bug #8799: Killed filesorts can fail inited==RND assertion in ha_rnd_end). sql/filesort.cc: A fix (bug #8799: Killed filesorts can fail inited==RND assertion in ha_rnd_end). Should call ha_rnd_end() only if ha_rnd_init() was called. --- sql/filesort.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sql/filesort.cc b/sql/filesort.cc index c6af8cfc1b7..75b114fc140 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -452,8 +452,11 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, if (*killed) { DBUG_PRINT("info",("Sort killed by user")); - (void) file->extra(HA_EXTRA_NO_CACHE); - file->ha_rnd_end(); + if (!indexfile && !quick_select) + { + (void) file->extra(HA_EXTRA_NO_CACHE); + file->ha_rnd_end(); + } DBUG_RETURN(HA_POS_ERROR); /* purecov: inspected */ } if (error == 0) From 9af776c8cbad88bf4d42686c91a6aa8a67484d56 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 16:54:11 +0300 Subject: [PATCH 115/124] Cleanup --- mysql-test/t/count_distinct2.test | 2 +- sql/item_sum.cc | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mysql-test/t/count_distinct2.test b/mysql-test/t/count_distinct2.test index 9100f622dec..2b982e3e620 100644 --- a/mysql-test/t/count_distinct2.test +++ b/mysql-test/t/count_distinct2.test @@ -64,7 +64,7 @@ select count(distinct n) from t1; show status like 'Created_tmp_disk_tables'; drop table t1; -#test conversion from heap to MyISAM +# Test use of MyISAM tmp tables create table t1 (s text); let $1=5000; disable_query_log; diff --git a/sql/item_sum.cc b/sql/item_sum.cc index b79edb9bebc..174e2ba4b85 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -2228,14 +2228,14 @@ bool Item_sum_count_distinct::setup(THD *thd) return FALSE; if (!(tmp_table_param= new TMP_TABLE_PARAM)) - return 1; + return TRUE; /* Create a table with an unique key over all parameters */ for (uint i=0; i < arg_count ; i++) { Item *item=args[i]; if (list.push_back(item)) - return 1; // End of memory + return TRUE; // End of memory if (item->const_item()) { (void) item->val_int(); @@ -2244,14 +2244,14 @@ bool Item_sum_count_distinct::setup(THD *thd) } } if (always_null) - return 0; + return FALSE; count_field_types(tmp_table_param,list,0); DBUG_ASSERT(table == 0); if (!(table= create_tmp_table(thd, tmp_table_param, list, (ORDER*) 0, 1, 0, select_lex->options | thd->options, HA_POS_ERROR, (char*)""))) - return 1; + return TRUE; table->file->extra(HA_EXTRA_NO_ROWS); // Don't update rows table->no_rows=1; From aa5dba42ef7e68cb013d36c689fec4ec62a14f1d Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 15:03:25 +0100 Subject: [PATCH 116/124] WL#2269 Enable query cache for NDB part 2 -This is mostly fixes for correct behaviour when using query cache + transactions + the thread that fetches commit count from NDB at regular intervals. The major fix is to add a list in thd_ndb, that keeps a list of NDB_SHARE's that were modified by transaction and then "clearing" them in ndbcluster_commit. mysql-test/r/ndb_cache2.result: Updated test cases for the ndb_util thread, more simultaneous tables and more tesst mysql-test/t/ndb_cache2.test: Updated test cases for the ndb_util thread, more simultaneous tables and more advanced tesst sql/ha_ndbcluster.cc: Add table changed during transaction to list of changed tables in Thd_ndb, this list is then used in ndbcluster_commit to invalidate the cached commit_count in share Fix so that ndb_util_thread uses milliseconds "sleeps" Changed so that ndb_commit_count uses the commit_count from share if available sql/ha_ndbcluster.h: Add commit_count_lock to NBD_SHARE, use for detecting simultaneous attempts to update commit_count Add list of tables changed by transaction to Thd_ndb Change check_ndb_connection to take thd as argument, use current_thd as default Added m_rows_changed variable to keep track of if this handler has modified any records within the transaction sql/set_var.cc: Change format of code Sort sys__ variables in aplha order --- mysql-test/r/ndb_cache2.result | 538 +++++++++++++++++++++++++++++---- mysql-test/t/ndb_cache2.test | 280 +++++++++++++++-- sql/ha_ndbcluster.cc | 302 ++++++++++++------ sql/ha_ndbcluster.h | 5 +- sql/set_var.cc | 8 +- 5 files changed, 958 insertions(+), 175 deletions(-) diff --git a/mysql-test/r/ndb_cache2.result b/mysql-test/r/ndb_cache2.result index 2815674a20a..2876002f864 100644 --- a/mysql-test/r/ndb_cache2.result +++ b/mysql-test/r/ndb_cache2.result @@ -1,14 +1,45 @@ -drop table if exists t1; +drop table if exists t1, t2, t3, t4, t5; set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; -set GLOBAL ndb_cache_check_time=1; +set GLOBAL ndb_cache_check_time=100; reset query cache; flush status; -CREATE TABLE t1 ( pk int not null primary key, -a int, b int not null, c varchar(20)) ENGINE=ndbcluster; +CREATE TABLE t1 ( +pk int not null primary key, +a1 int, +b1 int not null, +c1 varchar(20) +) ENGINE=ndb; +CREATE TABLE t2 ( +pk int not null primary key, +a2 int, +b2 int not null +) ENGINE=ndb; +CREATE TABLE t3 ( +pk int not null primary key, +a3 int, +b3 int not null, +c3 int not null, +d3 varchar(20) +) ENGINE=ndb; +CREATE TABLE t4 ( +a4 int, +b4 int not null, +c4 char(20) +) ENGINE=ndbcluster; +CREATE TABLE t5 ( +pk int not null primary key, +a5 int, +b5 int not null, +c5 varchar(255) +) ENGINE=ndbcluster; insert into t1 value (1, 2, 3, 'First row'); +insert into t2 value (1, 2, 3); +insert into t3 value (1, 2, 3, 4, '3 - First row'); +insert into t4 value (2, 3, '4 - First row'); +insert into t5 value (1, 2, 3, '5 - First row'); select * from t1; -pk a b c +pk a1 b1 c1 1 2 3 First row show status like "Qcache_queries_in_cache"; Variable_name Value @@ -20,14 +51,14 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t1; -pk a b c +pk a1 b1 c1 1 2 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 -update t1 set a=3 where pk=1; +update t1 set a1=3 where pk=1; select * from t1; -pk a b c +pk a1 b1 c1 1 3 3 First row show status like "Qcache_inserts"; Variable_name Value @@ -38,7 +69,7 @@ Qcache_hits 1 insert into t1 value (2, 7, 8, 'Second row'); insert into t1 value (4, 5, 6, 'Fourth row'); select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 4 5 6 Fourth row 2 7 8 Second row 1 3 3 First row @@ -49,15 +80,15 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 4 5 6 Fourth row 2 7 8 Second row 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 2 -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_queries_in_cache"; Variable_name Value @@ -65,44 +96,44 @@ Qcache_queries_in_cache 2 show status like "Qcache_hits"; Variable_name Value Qcache_hits 2 -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 3 -delete from t1 where c='Fourth row'; +delete from t1 where c1='Fourth row'; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 3 use test; select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 3 3 First row -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 4 -update t1 set a=4 where b=3; +update t1 set a1=4 where b1=3; use test; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row show status like "Qcache_inserts"; @@ -112,11 +143,11 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 5 select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row show status like "Qcache_queries_in_cache"; @@ -128,64 +159,463 @@ Qcache_inserts 7 show status like "Qcache_hits"; Variable_name Value Qcache_hits 7 +select * from t2; +pk a2 b2 +1 2 3 +select * from t3; +pk a3 b3 c3 d3 +1 2 3 4 3 - First row +select * from t4; +a4 b4 c4 +2 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 2 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +flush status; begin; -update t1 set a=5 where pk=1; +update t1 set a1=5 where pk=1; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 4 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +commit; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +flush status; +begin; +update t1 set a1=6 where pk=1; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +commit; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 2 +flush status; +begin; +insert into t1 set pk=5, a1=6, b1=3, c1="New row"; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=5; +pk a1 b1 c1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=5; +pk a1 b1 c1 +5 6 3 New row +select * from t1 where pk=5; +pk a1 b1 c1 +5 6 3 New row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +commit; +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 3 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +flush status; +begin; +delete from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=2; +pk a1 b1 c1 +2 7 8 Second row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=2; +pk a1 b1 c1 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t1 where pk=2; +pk a1 b1 c1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +commit; +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t1 where pk=2; +pk a1 b1 c1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 4 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +flush status; +begin; +update t1 set a1=9 where pk=1; +update t2 set a2=9 where pk=1; +update t3 set a3=9 where pk=1; +update t4 set a4=9 where a4=2; +update t5 set a5=9 where pk=1; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 7 +Qcache_inserts 0 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 7 +Qcache_hits 0 select * from t1 order by pk desc; -pk a b c -2 7 8 Second row -1 4 3 First row +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t2; +pk a2 b2 +1 2 3 +select * from t3; +pk a3 b3 c3 d3 +1 2 3 4 3 - First row +select * from t4; +a4 b4 c4 +2 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 2 3 5 - First row show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 5 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 8 +Qcache_inserts 5 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 7 +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 5 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 commit; +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 5 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 8 +Qcache_inserts 10 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 7 +Qcache_hits 0 select * from t1 order by pk desc; -pk a b c -2 7 8 Second row -1 5 3 First row -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 9 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 7 -select * from t1 order by pk desc; -pk a b c -2 7 8 Second row -1 5 3 First row +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 5 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 9 +Qcache_inserts 10 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 8 -drop table t1; +Qcache_hits 5 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 10 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 10 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 10 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 15 +drop table t1, t2, t3, t4, t5; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 diff --git a/mysql-test/t/ndb_cache2.test b/mysql-test/t/ndb_cache2.test index 173095e9f1f..7f960e5ef3a 100644 --- a/mysql-test/t/ndb_cache2.test +++ b/mysql-test/t/ndb_cache2.test @@ -2,7 +2,7 @@ -- source include/have_ndb.inc --disable_warnings -drop table if exists t1; +drop table if exists t1, t2, t3, t4, t5; --enable_warnings @@ -10,19 +10,47 @@ drop table if exists t1; set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; # Turn on thread that will fetch commit count for open tables -set GLOBAL ndb_cache_check_time=1; +set GLOBAL ndb_cache_check_time=100; reset query cache; flush status; -# Wait for thread to wake up and start "working" -sleep 20; - -# Create test table in NDB -CREATE TABLE t1 ( pk int not null primary key, - a int, b int not null, c varchar(20)) ENGINE=ndbcluster; +# Create test tables in NDB +CREATE TABLE t1 ( + pk int not null primary key, + a1 int, + b1 int not null, + c1 varchar(20) +) ENGINE=ndb; +CREATE TABLE t2 ( + pk int not null primary key, + a2 int, + b2 int not null +) ENGINE=ndb; +CREATE TABLE t3 ( + pk int not null primary key, + a3 int, + b3 int not null, + c3 int not null, + d3 varchar(20) +) ENGINE=ndb; +CREATE TABLE t4 ( + a4 int, + b4 int not null, + c4 char(20) +) ENGINE=ndbcluster; +CREATE TABLE t5 ( + pk int not null primary key, + a5 int, + b5 int not null, + c5 varchar(255) +) ENGINE=ndbcluster; insert into t1 value (1, 2, 3, 'First row'); +insert into t2 value (1, 2, 3); +insert into t3 value (1, 2, 3, 4, '3 - First row'); +insert into t4 value (2, 3, '4 - First row'); +insert into t5 value (1, 2, 3, '5 - First row'); -# Perform one query which should be inerted in query cache +# Perform one query which should be inserted in query cache select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; @@ -33,7 +61,7 @@ select * from t1; show status like "Qcache_hits"; # Update the table and make sure the correct data is returned -update t1 set a=3 where pk=1; +update t1 set a1=3 where pk=1; select * from t1; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -48,18 +76,18 @@ select * from t1 order by pk desc; show status like "Qcache_hits"; # Perform a "new" query and make sure the query cache is not hit -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_queries_in_cache"; show status like "Qcache_hits"; # Same query again... -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_hits"; # Delete from the table -delete from t1 where c='Fourth row'; +delete from t1 where c1='Fourth row'; show status like "Qcache_queries_in_cache"; -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_hits"; # Start another connection and check that the query cache is hit @@ -67,11 +95,11 @@ connect (con1,localhost,root,,); connection con1; use test; select * from t1 order by pk desc; -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_hits"; -# Update the table and switch to other connection -update t1 set a=4 where b=3; +# Update the table and switch to other connection +update t1 set a1=4 where b1=3; connect (con2,localhost,root,,); connection con2; use test; @@ -87,10 +115,23 @@ show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; -# Use transactions and make sure the query cache is not updated until -# transaction is commited +# Load all tables into cache +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; + +##################################################################### +# Start transaction and perform update +# Switch to other transaction and check that update does not show up +# Switch back and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; begin; -update t1 set a=5 where pk=1; +update t1 set a1=5 where pk=1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -101,8 +142,6 @@ show status like "Qcache_inserts"; show status like "Qcache_hits"; connection con1; commit; -# Sleep to let the query cache thread update commit count -sleep 10; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -116,8 +155,203 @@ show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; -drop table t1; +##################################################################### +# Start transaction and perform update +# Switch to other transaction and check that update does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; +begin; +update t1 set a1=6 where pk=1; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 order by pk desc; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The two queries below will not hit cache since transaction is ongoing +select * from t1 order by pk desc; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 order by pk desc; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +##################################################################### +# Start transaction and perform insert +# Switch to other transaction and check that insert does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; +begin; +insert into t1 set pk=5, a1=6, b1=3, c1="New row"; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 where pk=5; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The below four queries will not be cached, trans is ongoing +select * from t1 where pk=5; +select * from t1 where pk=5; +select * from t1 order by pk desc; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; + +connection con2; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con1; + +##################################################################### +# Start transaction and perform delete +# Switch to other transaction and check that delete does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; +begin; +delete from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 where pk=2; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The below four queries will not be cached, trans is ongoing +select * from t1 where pk=2; +select * from t1 order by pk desc; +select * from t1 order by pk desc; +select * from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; + +connection con2; +select * from t1 order by pk desc; +select * from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con1; + +##################################################################### +# Start a transaction which updates all tables +# Switch to other transaction and check updates does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +flush status; +begin; +update t1 set a1=9 where pk=1; +update t2 set a2=9 where pk=1; +update t3 set a3=9 where pk=1; +update t4 set a4=9 where a4=2; +update t5 set a5=9 where pk=1; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The below five queries will not be cached, trans is ongoing +select * from t1 order by pk desc; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; + +connection con2; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con1; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con2; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +drop table t1, t2, t3, t4, t5; + +# There should be no queries in cache, when tables have been dropped show status like "Qcache_queries_in_cache"; SET GLOBAL query_cache_size=0; diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index f04b024d842..db4507916b1 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -286,7 +286,8 @@ Thd_ndb::~Thd_ndb() { if (ndb) delete ndb; - ndb= 0; + ndb= NULL; + changed_tables.empty(); } inline @@ -1954,7 +1955,7 @@ int ha_ndbcluster::write_row(byte *record) if (peek_res != HA_ERR_KEY_NOT_FOUND) DBUG_RETURN(peek_res); } - + statistic_increment(thd->status_var.ha_write_count, &LOCK_status); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT) table->timestamp_field->set_time(); @@ -2003,6 +2004,8 @@ int ha_ndbcluster::write_row(byte *record) } } + m_rows_changed++; + /* Execute write operation NOTE When doing inserts with many values in @@ -2196,6 +2199,8 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) } } + m_rows_changed++; + // Set non-key attribute(s) for (i= 0; i < table->s->fields; i++) { @@ -2278,7 +2283,9 @@ int ha_ndbcluster::delete_row(const byte *record) return res; } } - + + m_rows_changed++; + // Execute delete operation if (execute_no_commit(this,trans) != 0) { no_uncommitted_rows_execute_failure(); @@ -3181,14 +3188,14 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) Check that this handler instance has a connection set up to the Ndb object of thd */ - if (check_ndb_connection()) + if (check_ndb_connection(thd)) DBUG_RETURN(1); - + Thd_ndb *thd_ndb= get_thd_ndb(thd); Ndb *ndb= thd_ndb->ndb; - DBUG_PRINT("enter", ("transaction.thd_ndb->lock_count: %d", - thd_ndb->lock_count)); + DBUG_PRINT("enter", ("thd: %x, thd_ndb: %x, thd_ndb->lock_count: %d", + thd, thd_ndb, thd_ndb->lock_count)); if (lock_type != F_UNLCK) { @@ -3196,7 +3203,6 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) if (!thd_ndb->lock_count++) { PRINT_OPTION_FLAGS(thd); - if (!(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN | OPTION_TABLE_LOCK))) { // Autocommit transaction @@ -3264,9 +3270,10 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) m_active_trans= thd_ndb->all ? thd_ndb->all : thd_ndb->stmt; DBUG_ASSERT(m_active_trans); // Start of transaction + m_rows_changed= 0; m_retrieve_all_fields= FALSE; m_retrieve_primary_key= FALSE; - m_ops_pending= 0; + m_ops_pending= 0; { NDBDICT *dict= ndb->getDictionary(); const NDBTAB *tab; @@ -3278,10 +3285,28 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) m_table_info= tab_info; } no_uncommitted_rows_init(thd); - } - else + } + else { DBUG_PRINT("info", ("lock_type == F_UNLCK")); + + if (ndb_cache_check_time && m_rows_changed) + { + DBUG_PRINT("info", ("Rows has changed and util thread is running")); + if (thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)) + { + DBUG_PRINT("info", ("Add share to list of tables to be invalidated")); + /* NOTE push_back allocates memory using transactions mem_root! */ + thd_ndb->changed_tables.push_back(m_share, &thd->transaction.mem_root); + } + + pthread_mutex_lock(&m_share->mutex); + DBUG_PRINT("info", ("Invalidating commit_count")); + m_share->commit_count= 0; + m_share->commit_count_lock++; + pthread_mutex_unlock(&m_share->mutex); + } + if (!--thd_ndb->lock_count) { DBUG_PRINT("trans", ("Last external_lock")); @@ -3301,6 +3326,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) } m_table= NULL; m_table_info= NULL; + /* This is the place to make sure this handler instance no longer are connected to the active transaction. @@ -3374,7 +3400,7 @@ int ha_ndbcluster::start_stmt(THD *thd) /* - Commit a transaction started in NDB + Commit a transaction started in NDB */ int ndbcluster_commit(THD *thd, bool all) @@ -3386,7 +3412,7 @@ int ndbcluster_commit(THD *thd, bool all) DBUG_ENTER("ndbcluster_commit"); DBUG_PRINT("transaction",("%s", - trans == thd_ndb->stmt ? + trans == thd_ndb->stmt ? "stmt" : "all")); DBUG_ASSERT(ndb && trans); @@ -3394,18 +3420,31 @@ int ndbcluster_commit(THD *thd, bool all) { const NdbError err= trans->getNdbError(); const NdbOperation *error_op= trans->getNdbErrorOperation(); - ERR_PRINT(err); + ERR_PRINT(err); res= ndb_to_mysql_error(&err); - if (res != -1) + if (res != -1) ndbcluster_print_error(res, error_op); } ndb->closeTransaction(trans); - + if(all) thd_ndb->all= NULL; else thd_ndb->stmt= NULL; - + + /* Clear commit_count for tables changed by transaction */ + NDB_SHARE* share; + List_iterator_fast it(thd_ndb->changed_tables); + while ((share= it++)) + { + pthread_mutex_lock(&share->mutex); + DBUG_PRINT("info", ("Invalidate commit_count for %s, share->commit_count: %d ", share->table_name, share->commit_count)); + share->commit_count= 0; + share->commit_count_lock++; + pthread_mutex_unlock(&share->mutex); + } + thd_ndb->changed_tables.empty(); + DBUG_RETURN(res); } @@ -3443,6 +3482,9 @@ int ndbcluster_rollback(THD *thd, bool all) else thd_ndb->stmt= NULL; + /* Clear list of tables changed by transaction */ + thd_ndb->changed_tables.empty(); + DBUG_RETURN(res); } @@ -4135,6 +4177,7 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg): m_rows_to_insert(1), m_rows_inserted(0), m_bulk_insert_rows(1024), + m_rows_changed(0), m_bulk_insert_not_flushed(FALSE), m_ops_pending(0), m_skip_auto_increment(TRUE), @@ -4147,9 +4190,9 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg): m_autoincrement_prefetch(32), m_transaction_on(TRUE), m_multi_cursor(NULL) -{ +{ int i; - + DBUG_ENTER("ha_ndbcluster"); m_tabname[0]= '\0'; @@ -4309,9 +4352,8 @@ Ndb* check_ndb_in_thd(THD* thd) -int ha_ndbcluster::check_ndb_connection() +int ha_ndbcluster::check_ndb_connection(THD* thd) { - THD* thd= current_thd; Ndb *ndb; DBUG_ENTER("check_ndb_connection"); @@ -4385,33 +4427,31 @@ int ndbcluster_discover(THD* thd, const char *db, const char *name, /* Check if a table exists in NDB - + */ int ndbcluster_table_exists(THD* thd, const char *db, const char *name) { - uint len; - const void* data; const NDBTAB* tab; Ndb* ndb; DBUG_ENTER("ndbcluster_table_exists"); - DBUG_PRINT("enter", ("db: %s, name: %s", db, name)); + DBUG_PRINT("enter", ("db: %s, name: %s", db, name)); if (!(ndb= check_ndb_in_thd(thd))) - DBUG_RETURN(HA_ERR_NO_CONNECTION); + DBUG_RETURN(HA_ERR_NO_CONNECTION); ndb->setDatabaseName(db); NDBDICT* dict= ndb->getDictionary(); dict->set_local_table_data_size(sizeof(Ndb_table_local_info)); dict->invalidateTable(name); if (!(tab= dict->getTable(name))) - { + { const NdbError err= dict->getNdbError(); if (err.code == 709) DBUG_RETURN(0); ERR_RETURN(err); } - + DBUG_PRINT("info", ("Found table %s", tab->getName())); DBUG_RETURN(1); } @@ -4929,38 +4969,65 @@ uint ndb_get_commitcount(THD *thd, char *dbname, char *tabname, { DBUG_ENTER("ndb_get_commitcount"); + char name[FN_REFLEN]; + NDB_SHARE *share; + (void)strxnmov(name, FN_REFLEN, "./",dbname,"/",tabname,NullS); + DBUG_PRINT("enter", ("name: %s", name)); + pthread_mutex_lock(&ndbcluster_mutex); + if (!(share=(NDB_SHARE*) hash_search(&ndbcluster_open_tables, + (byte*) name, + strlen(name)))) + { + pthread_mutex_unlock(&ndbcluster_mutex); + DBUG_PRINT("info", ("Table %s not found in ndbcluster_open_tables", + name)); + DBUG_RETURN(1); + } + share->use_count++; + pthread_mutex_unlock(&ndbcluster_mutex); + + pthread_mutex_lock(&share->mutex); if (ndb_cache_check_time > 0) { - /* Use cached commit_count from share */ - char name[FN_REFLEN]; - NDB_SHARE *share; - (void)strxnmov(name, FN_REFLEN, - "./",dbname,"/",tabname,NullS); - DBUG_PRINT("info", ("name: %s", name)); - pthread_mutex_lock(&ndbcluster_mutex); - if (!(share=(NDB_SHARE*) hash_search(&ndbcluster_open_tables, - (byte*) name, - strlen(name)))) + if (share->commit_count != 0) { - pthread_mutex_unlock(&ndbcluster_mutex); - DBUG_RETURN(1); + *commit_count= share->commit_count; + DBUG_PRINT("info", ("Getting commit_count: %llu from share", + share->commit_count)); + pthread_mutex_unlock(&share->mutex); + free_share(share); + DBUG_RETURN(0); } - *commit_count= share->commit_count; - DBUG_PRINT("info", ("commit_count: %d", *commit_count)); - pthread_mutex_unlock(&ndbcluster_mutex); - DBUG_RETURN(0); } - - /* Get commit_count from NDB */ + DBUG_PRINT("info", ("Get commit_count from NDB")); Ndb *ndb; if (!(ndb= check_ndb_in_thd(thd))) DBUG_RETURN(1); ndb->setDatabaseName(dbname); + uint lock= share->commit_count_lock; + pthread_mutex_unlock(&share->mutex); struct Ndb_statistics stat; if (ndb_get_table_statistics(ndb, tabname, &stat)) + { + free_share(share); DBUG_RETURN(1); - *commit_count= stat.commit_count; + } + + pthread_mutex_lock(&share->mutex); + if(share->commit_count_lock == lock) + { + DBUG_PRINT("info", ("Setting commit_count to %llu", stat.commit_count)); + share->commit_count= stat.commit_count; + *commit_count= stat.commit_count; + } + else + { + DBUG_PRINT("info", ("Discarding commit_count, comit_count_lock changed")); + *commit_count= 0; + } + pthread_mutex_unlock(&share->mutex); + free_share(share); DBUG_RETURN(0); } @@ -5007,27 +5074,37 @@ ndbcluster_cache_retrieval_allowed(THD *thd, char *dbname= full_name; char *tabname= dbname+strlen(dbname)+1; - DBUG_PRINT("enter",("dbname=%s, tabname=%s, autocommit=%d", - dbname, tabname, is_autocommit)); + DBUG_PRINT("enter", ("dbname: %s, tabname: %s, is_autocommit: %d", + dbname, tabname, is_autocommit)); if (!is_autocommit) + { + DBUG_PRINT("exit", ("No, don't use cache in transaction")); DBUG_RETURN(FALSE); + } if (ndb_get_commitcount(thd, dbname, tabname, &commit_count)) { - *engine_data+= 1; /* invalidate */ + *engine_data= 0; /* invalidate */ + DBUG_PRINT("exit", ("No, could not retrieve commit_count")); DBUG_RETURN(FALSE); } - DBUG_PRINT("info", ("*engine_data=%llu, commit_count=%llu", + DBUG_PRINT("info", ("*engine_data: %llu, commit_count: %llu", *engine_data, commit_count)); - if (*engine_data != commit_count) + if (commit_count == 0) + { + *engine_data= 0; /* invalidate */ + DBUG_PRINT("exit", ("No, local commit has been performed")); + DBUG_RETURN(FALSE); + } + else if (*engine_data != commit_count) { *engine_data= commit_count; /* invalidate */ - DBUG_PRINT("exit",("Do not use cache, commit_count has changed")); - DBUG_RETURN(FALSE); - } + DBUG_PRINT("exit", ("No, commit_count has changed")); + DBUG_RETURN(FALSE); + } - DBUG_PRINT("exit",("OK to use cache, *engine_data=%llu",*engine_data)); + DBUG_PRINT("exit", ("OK to use cache, engine_data: %llu", *engine_data)); DBUG_RETURN(TRUE); } @@ -5063,22 +5140,27 @@ ha_ndbcluster::register_query_cache_table(THD *thd, DBUG_ENTER("ha_ndbcluster::register_query_cache_table"); bool is_autocommit= !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)); - DBUG_PRINT("enter",("dbname=%s, tabname=%s, is_autocommit=%d", - m_dbname,m_tabname,is_autocommit)); + + DBUG_PRINT("enter",("dbname: %s, tabname: %s, is_autocommit: %d", + m_dbname, m_tabname, is_autocommit)); + if (!is_autocommit) + { + DBUG_PRINT("exit", ("Can't register table during transaction")) DBUG_RETURN(FALSE); + } Uint64 commit_count; if (ndb_get_commitcount(thd, m_dbname, m_tabname, &commit_count)) { *engine_data= 0; - DBUG_PRINT("error", ("Could not get commitcount")) + DBUG_PRINT("exit", ("Error, could not get commitcount")) DBUG_RETURN(FALSE); } *engine_data= commit_count; *engine_callback= ndbcluster_cache_retrieval_allowed; - DBUG_PRINT("exit",("*engine_data=%llu", *engine_data)); - DBUG_RETURN(TRUE); + DBUG_PRINT("exit", ("commit_count: %llu", commit_count)); + DBUG_RETURN(commit_count > 0); } @@ -5121,14 +5203,21 @@ static NDB_SHARE* get_share(const char *table_name) thr_lock_init(&share->lock); pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST); share->commit_count= 0; + share->commit_count_lock= 0; + } + else + { + DBUG_PRINT("error", ("Failed to alloc share")); + pthread_mutex_unlock(&ndbcluster_mutex); + return 0; } } - DBUG_PRINT("share", - ("table_name: %s, length: %d, use_count: %d, commit_count: %d", - share->table_name, share->table_name_length, share->use_count, - share->commit_count)); - share->use_count++; + + DBUG_PRINT("share", + ("table_name: %s, length: %d, use_count: %d, commit_count: %d", + share->table_name, share->table_name_length, share->use_count, + share->commit_count)); pthread_mutex_unlock(&ndbcluster_mutex); return share; } @@ -5139,7 +5228,7 @@ static void free_share(NDB_SHARE *share) pthread_mutex_lock(&ndbcluster_mutex); if (!--share->use_count) { - hash_delete(&ndbcluster_open_tables, (byte*) share); + hash_delete(&ndbcluster_open_tables, (byte*) share); thr_lock_delete(&share->lock); pthread_mutex_destroy(&share->mutex); my_free((gptr) share, MYF(0)); @@ -5283,6 +5372,7 @@ ndb_get_table_statistics(Ndb* ndb, const char * table, if (check == -1) break; + Uint32 count= 0; Uint64 sum_rows= 0; Uint64 sum_commits= 0; Uint64 sum_row_size= 0; @@ -5294,6 +5384,7 @@ ndb_get_table_statistics(Ndb* ndb, const char * table, if (sum_row_size < size) sum_row_size= size; sum_mem+= mem; + count++; } if (check == -1) @@ -5308,8 +5399,11 @@ ndb_get_table_statistics(Ndb* ndb, const char * table, ndbstat->row_size= sum_row_size; ndbstat->fragment_memory= sum_mem; - DBUG_PRINT("exit", ("records: %u commits: %u row_size: %d mem: %d", - sum_rows, sum_commits, sum_row_size, sum_mem)); + DBUG_PRINT("exit", ("records: %llu commits: %llu " + "row_size: %llu mem: %llu count: %u", + sum_rows, sum_commits, sum_row_size, + sum_mem, count)); + DBUG_RETURN(0); } while(0); @@ -5739,6 +5833,7 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, arg __attribute__((unused))) { THD *thd; /* needs to be first for thread_stack */ + Ndb* ndb; int error= 0; struct timespec abstime; @@ -5748,12 +5843,13 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, thd= new THD; /* note that contructor of THD uses DBUG_ */ THD_CHECK_SENTRY(thd); + ndb= new Ndb(g_ndb_cluster_connection, ""); pthread_detach_this_thread(); ndb_util_thread= pthread_self(); thd->thread_stack= (char*)&thd; /* remember where our stack is */ - if (thd->store_globals()) + if (thd->store_globals() && (ndb->init() != -1)) { thd->cleanup(); delete thd; @@ -5779,22 +5875,11 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, if (ndb_cache_check_time == 0) { - /* Wake up in 10 seconds to check if value has changed */ - set_timespec(abstime, 10); + /* Wake up in 1 second to check if value has changed */ + set_timespec(abstime, 1); continue; } - /* Set new time to wake up */ - struct timeval tv; - gettimeofday(&tv,0); - abstime.tv_sec= tv.tv_sec + (ndb_cache_check_time / 1000); - abstime.tv_nsec= tv.tv_usec * 1000 + (ndb_cache_check_time % 1000); - if (abstime.tv_nsec >= 1000000000) - { - abstime.tv_sec += 1; - abstime.tv_nsec -= 1000000000; - } - /* Lock mutex and fill list with pointers to all open tables */ NDB_SHARE *share; pthread_mutex_lock(&ndbcluster_mutex); @@ -5814,7 +5899,7 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, /* Iterate through the open files list */ List_iterator_fast it(util_open_tables); - while (share= it++) + while ((share= it++)) { /* Split tab- and dbname */ char buf[FN_REFLEN]; @@ -5825,26 +5910,37 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, buf[length-1]= 0; db= buf+dirname_length(buf); DBUG_PRINT("ndb_util_thread", - ("Fetching commit count for: %s, db: %s, tab: %s", - share->table_name, db, tabname)); + ("Fetching commit count for: %s", + share->table_name)); /* Contact NDB to get commit count for table */ - g_ndb->setDatabaseName(db); - struct Ndb_statistics stat;; - if(ndb_get_table_statistics(g_ndb, tabname, &stat) == 0) + ndb->setDatabaseName(db); + struct Ndb_statistics stat; + + uint lock; + pthread_mutex_lock(&share->mutex); + lock= share->commit_count_lock; + pthread_mutex_unlock(&share->mutex); + + if(ndb_get_table_statistics(ndb, tabname, &stat) == 0) { DBUG_PRINT("ndb_util_thread", - ("Table: %s, rows: %llu, commit_count: %llu", - share->table_name, stat.row_count, stat.commit_count)); - share->commit_count= stat.commit_count; + ("Table: %s, commit_count: %llu, rows: %llu", + share->table_name, stat.commit_count, stat.row_count)); } else { DBUG_PRINT("ndb_util_thread", ("Error: Could not get commit count for table %s", share->table_name)); - share->commit_count++; /* Invalidate */ + stat.commit_count= 0; } + + pthread_mutex_lock(&share->mutex); + if (share->commit_count_lock == lock) + share->commit_count= stat.commit_count; + pthread_mutex_unlock(&share->mutex); + /* Decrease the use count and possibly free share */ free_share(share); } @@ -5852,6 +5948,26 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, /* Clear the list of open tables */ util_open_tables.empty(); + /* Calculate new time to wake up */ + int secs= 0; + int msecs= ndb_cache_check_time; + + struct timeval tick_time; + gettimeofday(&tick_time, 0); + abstime.tv_sec= tick_time.tv_sec; + abstime.tv_nsec= tick_time.tv_usec * 1000; + + if(msecs >= 1000){ + secs= msecs / 1000; + msecs= msecs % 1000; + } + + abstime.tv_sec+= secs; + abstime.tv_nsec+= msecs * 1000000; + if (abstime.tv_nsec >= 1000000000) { + abstime.tv_sec+= 1; + abstime.tv_nsec-= 1000000000; + } } thd->cleanup(); diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index 10ee568df69..a88a05b3543 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -60,6 +60,7 @@ typedef struct st_ndbcluster_share { pthread_mutex_t mutex; char *table_name; uint table_name_length,use_count; + uint commit_count_lock; ulonglong commit_count; } NDB_SHARE; @@ -77,6 +78,7 @@ class Thd_ndb { NdbTransaction *all; NdbTransaction *stmt; int error; + List changed_tables; }; class ha_ndbcluster: public handler @@ -226,7 +228,7 @@ private: char *update_table_comment(const char * comment); private: - int check_ndb_connection(); + int check_ndb_connection(THD* thd= current_thd); NdbTransaction *m_active_trans; NdbScanOperation *m_active_cursor; @@ -250,6 +252,7 @@ private: ha_rows m_rows_to_insert; ha_rows m_rows_inserted; ha_rows m_bulk_insert_rows; + ha_rows m_rows_changed; bool m_bulk_insert_not_flushed; ha_rows m_ops_pending; bool m_skip_auto_increment; diff --git a/sql/set_var.cc b/sql/set_var.cc index cdee9e6d4d1..6fc5fe68484 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -404,7 +404,7 @@ sys_var_long_ptr sys_innodb_thread_concurrency("innodb_thread_concurrency", #ifdef HAVE_NDBCLUSTER_DB /* ndb thread specific variable settings */ -sys_var_thd_ulong +sys_var_thd_ulong sys_ndb_autoincrement_prefetch_sz("ndb_autoincrement_prefetch_sz", &SV::ndb_autoincrement_prefetch_sz); sys_var_thd_bool @@ -413,7 +413,8 @@ sys_var_thd_bool sys_ndb_use_exact_count("ndb_use_exact_count", &SV::ndb_use_exact_count); sys_var_thd_bool sys_ndb_use_transactions("ndb_use_transactions", &SV::ndb_use_transactions); -sys_var_long_ptr sys_ndb_cache_check_time("ndb_cache_check_time", &ndb_cache_check_time); +sys_var_long_ptr +sys_ndb_cache_check_time("ndb_cache_check_time", &ndb_cache_check_time); #endif /* Time/date/datetime formats */ @@ -686,10 +687,10 @@ sys_var *sys_variables[]= #endif #ifdef HAVE_NDBCLUSTER_DB &sys_ndb_autoincrement_prefetch_sz, + &sys_ndb_cache_check_time, &sys_ndb_force_send, &sys_ndb_use_exact_count, &sys_ndb_use_transactions, - &sys_ndb_cache_check_time, #endif &sys_unique_checks, &sys_updatable_views_with_limit, @@ -1276,7 +1277,6 @@ static int check_max_delayed_threads(THD *thd, set_var *var) return 0; } - static void fix_max_connections(THD *thd, enum_var_type type) { #ifndef EMBEDDED_LIBRARY From 7e7437216b20e0f9c272e7b3386b4060977ecc8a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 19:43:32 +0400 Subject: [PATCH 117/124] after merge fix --- sql/ha_heap.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc index 28a7b5529c9..c8d0e5c1c18 100644 --- a/sql/ha_heap.cc +++ b/sql/ha_heap.cc @@ -531,8 +531,8 @@ int ha_heap::create(const char *name, TABLE *table_arg, mem_per_row); if (table_arg->found_next_number_field) { - keydef[table_arg->next_number_index].flag|= HA_AUTO_KEY; - found_real_auto_increment= table_arg->next_number_key_offset == 0; + keydef[share->next_number_index].flag|= HA_AUTO_KEY; + found_real_auto_increment= share->next_number_key_offset == 0; } HP_CREATE_INFO hp_create_info; hp_create_info.auto_key_type= auto_key_type; From b975a872da7423ed7dddf955b51a2a9ecf244247 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 18:31:56 +0100 Subject: [PATCH 118/124] include/my_global.h define _XOPEN_SOURCE=500 for solaris include/my_sys.h remove a cast include/my_global.h: define _XOPEN_SOURCE=500 for solaris include/my_sys.h: remove a cast --- include/my_global.h | 15 +++++++++++++++ include/my_sys.h | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/my_global.h b/include/my_global.h index e9470ac48aa..e78ec21523d 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -120,6 +120,21 @@ #define __STDC_EXT__ 1 /* To get large file support on hpux */ #endif +/* + Solaris include file refers to X/Open document + + System Interfaces and Headers, Issue 5 + + saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes + but apparently other systems (namely FreeBSD) don't agree. + Furthermore X/Open has since 2004 "System Interfaces, Issue 6" + that dictates _XOPEN_SOURCE=600, but Solaris checks for 500. + So, let's define 500 for solaris only. +*/ +#ifdef __sun__ +#define _XOPEN_SOURCE 500 +#endif + #if defined(THREAD) && !defined(__WIN__) && !defined(OS2) #ifndef _POSIX_PTHREAD_SEMANTICS #define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */ diff --git a/include/my_sys.h b/include/my_sys.h index ce785b58da4..afd2803b75d 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -812,7 +812,7 @@ my_bool my_gethwaddr(uchar *to); /* qnx ? */ #define my_getpagesize() 8192 #endif -#define my_munmap(a,b) munmap((char*)(a),(b)) +#define my_munmap(a,b) munmap((a),(b)) #else /* not a complete set of mmap() flags, but only those that nesessary */ From ccfd174670253c85e3ea8344032cf1e17393aec2 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 11:33:06 -0600 Subject: [PATCH 119/124] Bug #6660 mysqldump creates bad pathnames on Windows This is a modifiction of my previous patch after receiving feedback. This is a better way to fix the problem. With this patch, data directory and index directory will use only forward slashes (/) when on Windows. mysqldump.c: Removed fixPaths routine. Was improper fix for bug #6660 sql_show.cc: Changed append_directory to convert backslashes to foward slashes when on Windows. sql/sql_show.cc: Changed append_directory to convert backslashes to foward slashes when on Windows. client/mysqldump.c: Removed fixPaths routine. Was improper fix for bug #6660 --- client/mysqldump.c | 21 --------------------- sql/sql_show.cc | 9 +++++++++ 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/client/mysqldump.c b/client/mysqldump.c index 5ac5efb5128..fa36ce0242d 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1081,26 +1081,6 @@ static void print_xml_row(FILE *xml_file, const char *row_name, } -/* fixPaths -- on Windows only, this function will iterate through the output - of show create table and change any \ characters that appear in the data directory - or index directory elements to be / - - RETURN - void -*/ -static void fixPaths(char *buf, int buflen) -{ -#ifdef __WIN__ - int i = 0; - for (i=0; i < buflen; i++) - { - if (buf[i] != '\\') continue; - if (i != 0 && buf[i-1] == '\\') continue; - if (i != (buflen-1) && buf[i+1] == '\\') continue; - buf[i] = '/';} -#endif -} - /* getStructure -- retrievs database structure, prints out corresponding CREATE statement and fills out insert_pat. @@ -1180,7 +1160,6 @@ static uint getTableStructure(char *table, char* db) tableRes=mysql_store_result(sock); row=mysql_fetch_row(tableRes); - fixPaths(row[1], strlen(row[1])); // this really only does something on Windows fprintf(sql_file, "%s;\n", row[1]); check_io(sql_file); mysql_free_result(tableRes); diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 8d741b4dc67..a85a6f92d70 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1227,7 +1227,16 @@ static void append_directory(THD *thd, String *packet, const char *dir_type, packet->append(' '); packet->append(dir_type); packet->append(" DIRECTORY='", 12); +#ifdef __WIN__ + char *winfilename = strdup(filename); + for (uint i=0; i < length; i++) + if (winfilename[i] == '\\') + winfilename[i] = '/'; + packet->append(winfilename, length); + free(winfilename); +#else packet->append(filename, length); +#endif packet->append('\''); } } From fc9e2b42d93269b5f98d80e935f31877c87c7567 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 18:45:29 +0100 Subject: [PATCH 120/124] sun forte does not define __sun__, only __sun and sun (gcc defines all the three) --- include/my_global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/my_global.h b/include/my_global.h index e78ec21523d..2601c53bb92 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -131,7 +131,7 @@ that dictates _XOPEN_SOURCE=600, but Solaris checks for 500. So, let's define 500 for solaris only. */ -#ifdef __sun__ +#ifdef __sun #define _XOPEN_SOURCE 500 #endif From 6272f6f2159bf9bcdef9a384774c1e88144f01e6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 19:48:42 +0100 Subject: [PATCH 121/124] mysql-test-run.sh: Added feature to disable tests from a list in a file "disabled.def" Moved down the code that disables, so that --do-test and --start-from don't list the disabled tests not in range. disabled.def: List of test cases to temporarely disable mysql-test/t/disabled.def: List of test cases to temporarely disable mysql-test/mysql-test-run.sh: Added feature to disable tests from a list in a file "disabled.def" Moved down the code that disables, so that --do-test and --start-from don't list the disabled tests not in range. --- mysql-test/mysql-test-run.sh | 20 ++++++++++++++------ mysql-test/t/disabled.def | 20 ++++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 mysql-test/t/disabled.def diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index afed2e2ac84..b69bac1ad0b 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -1506,12 +1506,6 @@ run_testcase () if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ] ; then result_file="$result_file$RESULT_EXT" fi - if [ -f "$TESTDIR/$tname.disabled" ] - then - comment=`$CAT $TESTDIR/$tname.disabled`; - disable_test $tname "$comment" - return - fi if [ "$USE_MANAGER" = 1 ] ; then many_slaves=`$EXPR \( \( $tname : rpl_failsafe \) != 0 \) \| \( \( $tname : rpl_chain_temp_table \) != 0 \)` fi @@ -1541,6 +1535,20 @@ run_testcase () return fi + if [ -f "$TESTDIR/$tname.disabled" ] + then + comment=`$CAT $TESTDIR/$tname.disabled`; + disable_test $tname "$comment" + return + fi + comment=`$GREP "^$tname *: *" $TESTDIR/disabled.def`; + if [ -n "$comment" ] + then + comment=`echo $comment | sed 's/^[^:]*: *//'` + disable_test $tname "$comment" + return + fi + if [ "x$USE_EMBEDDED_SERVER" != "x1" ] ; then # Stop all slave threads, so that we don't have useless reconnection # attempts and error messages in case the slave and master servers restart. diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def new file mode 100644 index 00000000000..d2ab8158c51 --- /dev/null +++ b/mysql-test/t/disabled.def @@ -0,0 +1,20 @@ +############################################################################## +# +# List the test cases that are to be disabled temporarely. +# +# Separate the test case name and the comment with ':'. +# +# : Comment test +# +# Don't use any TAB characters for whitespace. +# +############################################################################## + +ndb_alter_table : NDB team needs to fix +ndb_autodiscover : NDB team needs to fix +ndb_autodiscover2 : NDB team needs to fix +ndb_cache_multi : NDB team needs to fix +ndb_cache_multi2 : NDB team needs to fix +ndb_multi : NDB team needs to fix +ndb_restore : NDB team needs to fix + From 21c83834406818130d270016521523c66c332fb2 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 22:51:13 +0300 Subject: [PATCH 122/124] IM setup patch. Enable IM instead of mysqld_safe in start/stop script. Alter RPM to include mysqlmanger binary and config files. support-files/mysql.server.sh: mysql start/stop script altered to use mysqlmanager instead of mysqld_safe, novel 'reload' option was temporarily removed support-files/mysql.spec.sh: correct RPM to include mysqlmanager --- support-files/mysql.server.sh | 59 +++++++++++++++++++---------------- support-files/mysql.spec.sh | 13 ++++++-- 2 files changed, 43 insertions(+), 29 deletions(-) diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index b361bac74d2..9e5c7ea6983 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -53,8 +53,10 @@ then basedir=@prefix@ bindir=@bindir@ datadir=@localstatedir@ + sbindir=@sbindir@ else bindir="$basedir/bin" + sbindir="$basedir/sbin" fi # @@ -79,11 +81,18 @@ case `echo "testing\c"`,`echo -n testing` in *) echo_n= echo_c='\c' ;; esac -parse_arguments() { +parse_server_arguments() { for arg do case "$arg" in --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; + esac + done +} + +parse_manager_arguments() { + for arg do + case "$arg" in --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; esac done @@ -104,7 +113,7 @@ wait_for_pid () { } # Get arguments from the my.cnf file, -# groups [mysqld] [mysql_server] and [mysql.server] +# the only group, which is read from now on is [mysqld] if test -x ./bin/my_print_defaults then print_defaults="./bin/my_print_defaults" @@ -153,14 +162,17 @@ then extra_args="-e $datadir/my.cnf" fi -parse_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server` +parse_server_arguments `$print_defaults $extra_args mysqld` + +# Look for the pidfile +parse_manager_arguments `$print_defaults $extra_args manager` # # Set pid file if not given # if test -z "$pid_file" then - pid_file=$datadir/`@HOSTNAME@`.pid + pid_file=$datadir/mysqlmanager-`@HOSTNAME@`.pid else case "$pid_file" in /* ) ;; @@ -168,6 +180,9 @@ else esac fi +user=@MYSQLD_USER@ +USER_OPTION="--user=$user" + # Safeguard (relative paths, core dumps..) cd $basedir @@ -175,21 +190,21 @@ case "$mode" in 'start') # Start daemon - if test -x $bindir/mysqld_safe + if test -x $sbindir/mysqlmanager then # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. echo $echo_n "Starting MySQL" - $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 & + $sbindir/mysqlmanager $USER_OPTION --pid-file=$pid_file >/dev/null 2>&1 & wait_for_pid - + # Make lock for RedHat / SuSE if test -w /var/lock/subsys then - touch /var/lock/subsys/mysql + touch /var/lock/subsys/mysqlmanager fi else - log_failure_msg "Can't execute $bindir/mysqld_safe" + log_failure_msg "Can't execute $sbindir/mysqlmanager" fi ;; @@ -198,19 +213,19 @@ case "$mode" in # root password. if test -s "$pid_file" then - mysqld_pid=`cat $pid_file` + mysqlmanager_pid=`cat $pid_file` echo $echo_n "Shutting down MySQL" - kill $mysqld_pid - # mysqld should remove the pid_file when it exits, so wait for it. + kill $mysqlmanager_pid + # mysqlmanager should remove the pid_file when it exits, so wait for it. wait_for_pid # delete lock for RedHat / SuSE - if test -f /var/lock/subsys/mysql + if test -f /var/lock/subsys/mysqlmanager then - rm -f /var/lock/subsys/mysql + rm -f /var/lock/subsys/mysqlmanager fi else - log_failure_msg "MySQL PID file could not be found!" + log_failure_msg "mysqlmanager PID file could not be found!" fi ;; @@ -219,21 +234,11 @@ case "$mode" in # running or not, start it again. $0 stop $0 start - ;; - - 'reload') - if test -s "$pid_file" ; then - mysqld_pid=`cat $pid_file` - kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL" - touch $pid_file - else - log_failure_msg "MySQL PID file could not be found!" - fi - ;; + ;; *) # usage - echo "Usage: $0 start|stop|restart|reload" + echo "Usage: $0 start|stop|restart" exit 1 ;; esac diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index a7ee5fa8a07..b062930041a 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -429,9 +429,11 @@ ln -s %{_sysconfdir}/init.d/mysql $RPM_BUILD_ROOT%{_sbindir}/rcmysql # (safe_mysqld will be gone in MySQL 4.1) ln -sf ./mysqld_safe $RBR%{_bindir}/safe_mysqld -# Touch the place where the my.cnf config file might be located +# Touch the place where the my.cnf config file and mysqlmanager.passwd +# (MySQL Instance Manager password file) might be located # Just to make sure it's in the file list and marked as a config file touch $RBR%{_sysconfdir}/my.cnf +touch $RBR%{_sysconfdir}/mysqlmanager.passwd %pre server # Shut down a previously installed server first @@ -551,6 +553,7 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/replace.1* %ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf +%ghost %config(noreplace,missingok) %{_sysconfdir}/mysqlmanager.passwd %attr(755, root, root) %{_bindir}/my_print_defaults %attr(755, root, root) %{_bindir}/myisamchk @@ -579,6 +582,7 @@ fi %attr(755, root, root) %{_bindir}/safe_mysqld %attr(755, root, root) %{_sbindir}/mysqld +%attr(755, root, root) %{_sbindir}/mysqlmanager %attr(755, root, root) %{_sbindir}/rcmysql %attr(644, root, root) %{_libdir}/mysql/mysqld.sym @@ -690,9 +694,14 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Sun Feb 20 2005 Petr Chardin + +- Install MySQL Instance Manager together with mysqld, toch mysqlmanager + password file + * Mon Feb 14 2005 Lenz Grimmer -* Fixed the compilation comments and moved them into the separate build sections +- Fixed the compilation comments and moved them into the separate build sections for Max and Standard * Mon Feb 7 2005 Tomas Ulin From 32e027ead7d65976dfcfaa95b7fa325a73783701 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 16:24:37 -0600 Subject: [PATCH 123/124] Bug #6660 mysqldump creates bad pathnames on Windows sql_show.cc: changed strdup to thd->memdup per Serg's advice sql/sql_show.cc: changed strdup to thd->memdup per Serg's advice --- sql/sql_show.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sql/sql_show.cc b/sql/sql_show.cc index a85a6f92d70..76ea72ef41c 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1228,12 +1228,11 @@ static void append_directory(THD *thd, String *packet, const char *dir_type, packet->append(dir_type); packet->append(" DIRECTORY='", 12); #ifdef __WIN__ - char *winfilename = strdup(filename); + char *winfilename = thd->memdup(filename, length); for (uint i=0; i < length; i++) if (winfilename[i] == '\\') winfilename[i] = '/'; packet->append(winfilename, length); - free(winfilename); #else packet->append(filename, length); #endif From 7955fe527d98d6d0231a8d10aa465401643e8f09 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 16 Mar 2005 00:34:15 +0200 Subject: [PATCH 124/124] Many files: InnoDB true VARCHAR sql/ha_innodb.h: InnoDB true VARCHAR sql/ha_innodb.cc: InnoDB true VARCHAR innobase/include/data0type.h: InnoDB true VARCHAR innobase/include/que0que.h: InnoDB true VARCHAR innobase/include/row0mysql.h: InnoDB true VARCHAR innobase/include/data0type.ic: InnoDB true VARCHAR innobase/include/row0mysql.ic: InnoDB true VARCHAR innobase/row/row0ins.c: InnoDB true VARCHAR innobase/row/row0mysql.c: InnoDB true VARCHAR innobase/row/row0sel.c: InnoDB true VARCHAR innobase/trx/trx0trx.c: InnoDB true VARCHAR --- innobase/include/data0type.h | 21 ++- innobase/include/data0type.ic | 13 ++ innobase/include/que0que.h | 3 +- innobase/include/row0mysql.h | 102 ++++++---- innobase/include/row0mysql.ic | 146 -------------- innobase/row/row0ins.c | 4 + innobase/row/row0mysql.c | 252 ++++++++++++++++++++++--- innobase/row/row0sel.c | 131 +++++++------ innobase/trx/trx0trx.c | 2 +- sql/ha_innodb.cc | 346 +++++++++++++++++++++++----------- sql/ha_innodb.h | 21 ++- 11 files changed, 652 insertions(+), 389 deletions(-) diff --git a/innobase/include/data0type.h b/innobase/include/data0type.h index 174665ca1fa..b5120e22041 100644 --- a/innobase/include/data0type.h +++ b/innobase/include/data0type.h @@ -24,7 +24,11 @@ extern dtype_t* dtype_binary; /*-------------------------------------------*/ /* The 'MAIN TYPE' of a column */ #define DATA_VARCHAR 1 /* character varying of the - latin1_swedish_ci charset-collation */ + latin1_swedish_ci charset-collation; note + that the MySQL format for this, DATA_BINARY, + DATA_VARMYSQL, is also affected by whether the + 'precise type' contains + DATA_MYSQL_TRUE_VARCHAR */ #define DATA_CHAR 2 /* fixed length character of the latin1_swedish_ci charset-collation */ #define DATA_FIXBINARY 3 /* binary string of fixed length */ @@ -102,6 +106,8 @@ columns, and for them the precise type is usually not used at all. #define DATA_MYSQL_TYPE_MASK 255 /* AND with this mask to extract the MySQL type from the precise type */ +#define DATA_MYSQL_TRUE_VARCHAR 15 /* MySQL type code for the >= 5.0.3 + format true VARCHAR */ /* Precise data types for system columns and the length of those columns; NOTE: the values must run from 0 up in the order given! All codes must @@ -134,6 +140,10 @@ be less than 256 */ In earlier versions this was set for some BLOB columns. */ +#define DATA_LONG_TRUE_VARCHAR 4096 /* this is ORed to the precise data + type when the column is true VARCHAR where + MySQL uses 2 bytes to store the data len; + for shorter VARCHARs MySQL uses only 1 byte */ /*-------------------------------------------*/ /* This many bytes we need to store the type information affecting the @@ -144,6 +154,15 @@ SQL null*/ store the charset-collation number; one byte is left unused, though */ #define DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE 6 +/************************************************************************* +Gets the MySQL type code from a dtype. */ +UNIV_INLINE +ulint +dtype_get_mysql_type( +/*=================*/ + /* out: MySQL type code; this is NOT an InnoDB + type code! */ + dtype_t* type); /* in: type struct */ /************************************************************************* Determine how many bytes the first n characters of the given string occupy. If the string is shorter than n characters, returns the number of bytes diff --git a/innobase/include/data0type.ic b/innobase/include/data0type.ic index e63dde98974..bf04e1c9b27 100644 --- a/innobase/include/data0type.ic +++ b/innobase/include/data0type.ic @@ -32,6 +32,19 @@ dtype_get_charset_coll( return((prtype >> 16) & 0xFFUL); } +/************************************************************************* +Gets the MySQL type code from a dtype. */ +UNIV_INLINE +ulint +dtype_get_mysql_type( +/*=================*/ + /* out: MySQL type code; this is NOT an InnoDB + type code! */ + dtype_t* type) /* in: type struct */ +{ + return(type->prtype & 0xFFUL); +} + /************************************************************************* Sets the mbminlen and mbmaxlen members of a data type structure. */ UNIV_INLINE diff --git a/innobase/include/que0que.h b/innobase/include/que0que.h index 298ec494750..4113e52d425 100644 --- a/innobase/include/que0que.h +++ b/innobase/include/que0que.h @@ -359,7 +359,8 @@ struct que_thr_struct{ the control came */ ulint resource; /* resource usage of the query thread thus far */ - ulint lock_state; /* lock state of thread (table or row) */ + ulint lock_state; /* lock state of thread (table or + row) */ }; #define QUE_THR_MAGIC_N 8476583 diff --git a/innobase/include/row0mysql.h b/innobase/include/row0mysql.h index 48a9d9bc941..e44d689b88b 100644 --- a/innobase/include/row0mysql.h +++ b/innobase/include/row0mysql.h @@ -21,36 +21,6 @@ Created 9/17/2000 Heikki Tuuri typedef struct row_prebuilt_struct row_prebuilt_t; -/*********************************************************************** -Stores a variable-length field (like VARCHAR) length to dest, in the -MySQL format. */ -UNIV_INLINE -byte* -row_mysql_store_var_len( -/*====================*/ - /* out: dest + 2 */ - byte* dest, /* in: where to store */ - ulint len); /* in: length, must fit in two bytes */ -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. */ -UNIV_INLINE -byte* -row_mysql_read_var_ref( -/*===================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length */ - byte* field); /* in: field */ -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. */ - -byte* -row_mysql_read_var_ref_noninline( -/*=============================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length */ - byte* field); /* in: field */ /*********************************************************************** Frees the blob heap in prebuilt when no longer needed. */ @@ -60,6 +30,30 @@ row_mysql_prebuilt_free_blob_heap( row_prebuilt_t* prebuilt); /* in: prebuilt struct of a ha_innobase:: table handle */ /*********************************************************************** +Stores a >= 5.0.3 format true VARCHAR length to dest, in the MySQL row +format. */ + +byte* +row_mysql_store_true_var_len( +/*=========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + byte* dest, /* in: where to store */ + ulint len, /* in: length, must fit in two bytes */ + ulint lenlen);/* in: storage length of len: either 1 or 2 bytes */ +/*********************************************************************** +Reads a >= 5.0.3 format true VARCHAR length, in the MySQL row format, and +returns a pointer to the data. */ + +byte* +row_mysql_read_true_varchar( +/*========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + ulint* len, /* out: variable-length field length */ + byte* field, /* in: field in the MySQL format */ + ulint lenlen);/* in: storage length of len: either 1 or 2 bytes */ +/*********************************************************************** Stores a reference to a BLOB in the MySQL format. */ void @@ -83,24 +77,40 @@ row_mysql_read_blob_ref( ulint col_len); /* in: BLOB reference length (not BLOB length) */ /****************************************************************** -Stores a non-SQL-NULL field given in the MySQL format in the Innobase -format. */ -UNIV_INLINE -void +Stores a non-SQL-NULL field given in the MySQL format in the InnoDB format. +The counterpart of this function is row_sel_field_store_in_mysql_format() in +row0sel.c. */ + +byte* row_mysql_store_col_in_innobase_format( /*===================================*/ - dfield_t* dfield, /* in/out: dfield */ - byte* buf, /* in/out: buffer for the converted - value */ + /* out: up to which byte we used + buf in the conversion */ + dfield_t* dfield, /* in/out: dfield where dtype + information must be already set when + this function is called! */ + byte* buf, /* in/out: buffer for a converted + integer value; this must be at least + col_len long then! */ + ibool row_format_col, /* TRUE if the mysql_data is from + a MySQL row, FALSE if from a MySQL + key value; + in MySQL, a true VARCHAR storage + format differs in a row and in a + key value: in a key value the length + is always stored in 2 bytes! */ byte* mysql_data, /* in: MySQL column value, not SQL NULL; NOTE that dfield may also get a pointer to mysql_data, therefore do not discard this as long as dfield is used! */ - ulint col_len, /* in: MySQL column length */ - ulint type, /* in: data type */ - bool comp, /* in: TRUE=compact format */ - ulint is_unsigned); /* in: != 0 if unsigned integer type */ + ulint col_len, /* in: MySQL column length; NOTE that + this is the storage length of the + column in the MySQL format row, not + necessarily the length of the actual + payload data; if the column is a true + VARCHAR then this is irrelevant */ + ibool comp); /* in: TRUE = compact format */ /******************************************************************** Handles user errors and lock waits detected by the database engine. */ @@ -457,6 +467,16 @@ struct mysql_row_templ_struct { zero if column cannot be NULL */ ulint type; /* column type in Innobase mtype numbers DATA_CHAR... */ + ulint mysql_type; /* MySQL type code; this is always + < 256 */ + ulint mysql_length_bytes; /* if mysql_type + == DATA_MYSQL_TRUE_VARCHAR, this tells + whether we should use 1 or 2 bytes to + store the MySQL true VARCHAR data + length at the start of row in the MySQL + format (NOTE that the MySQL key value + format always uses 2 bytes for the data + len) */ ulint charset; /* MySQL charset-collation code of the column, or zero */ ulint mbminlen; /* minimum length of a char, in bytes, diff --git a/innobase/include/row0mysql.ic b/innobase/include/row0mysql.ic index 910546e298c..aa8a70d8761 100644 --- a/innobase/include/row0mysql.ic +++ b/innobase/include/row0mysql.ic @@ -5,149 +5,3 @@ MySQL interface for Innobase Created 1/23/2001 Heikki Tuuri *******************************************************/ - -/*********************************************************************** -Stores a variable-length field (like VARCHAR) length to dest, in the -MySQL format. No real var implemented in MySQL yet! */ -UNIV_INLINE -byte* -row_mysql_store_var_len( -/*====================*/ - /* out: dest + 2 */ - byte* dest, /* in: where to store */ - ulint len __attribute__((unused))) /* in: length, must fit in two - bytes */ -{ - ut_ad(len < 256 * 256); -/* - mach_write_to_2_little_endian(dest, len); - - return(dest + 2); -*/ - return(dest); /* No real var implemented in MySQL yet! */ -} - -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. No real var implemented in MySQL yet! */ -UNIV_INLINE -byte* -row_mysql_read_var_ref( -/*===================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length; does not work - yet! */ - byte* field) /* in: field */ -{ -/* - *len = mach_read_from_2_little_endian(field); - - return(field + 2); -*/ - UT_NOT_USED(len); - - return(field); /* No real var implemented in MySQL yet! */ -} - -/****************************************************************** -Stores a non-SQL-NULL field given in the MySQL format in the Innobase -format. */ -UNIV_INLINE -void -row_mysql_store_col_in_innobase_format( -/*===================================*/ - dfield_t* dfield, /* in/out: dfield */ - byte* buf, /* in/out: buffer for the converted - value; this must be at least col_len - long! */ - byte* mysql_data, /* in: MySQL column value, not - SQL NULL; NOTE that dfield may also - get a pointer to mysql_data, - therefore do not discard this as long - as dfield is used! */ - ulint col_len, /* in: MySQL column length */ - ulint type, /* in: data type */ - bool comp, /* in: TRUE=compact format */ - ulint is_unsigned) /* in: != 0 if unsigned integer type */ -{ - byte* ptr = mysql_data; - - if (type == DATA_INT) { - /* Store integer data in Innobase in a big-endian format, - sign bit negated */ - - ptr = buf + col_len; - - for (;;) { - ptr--; - *ptr = *mysql_data; - if (ptr == buf) { - break; - } - mysql_data++; - } - - if (!is_unsigned) { - *ptr = (byte) (*ptr ^ 128); - } - } else if (type == DATA_VARCHAR || type == DATA_VARMYSQL - || type == DATA_BINARY) { - /* Remove trailing spaces. */ - - /* Handle UCS2 strings differently. */ - ulint mbminlen = dtype_get_mbminlen( - dfield_get_type(dfield)); - ptr = row_mysql_read_var_ref(&col_len, mysql_data); - if (mbminlen == 2) { - /* space=0x0020 */ - /* Trim "half-chars", just in case. */ - col_len &= ~1; - - while (col_len >= 2 && ptr[col_len - 2] == 0x00 - && ptr[col_len - 1] == 0x20) { - col_len -= 2; - } - } else { - ut_a(mbminlen == 1); - /* space=0x20 */ - while (col_len > 0 && ptr[col_len - 1] == 0x20) { - col_len--; - } - } - } else if (comp && type == DATA_MYSQL - && dtype_get_mbminlen(dfield_get_type(dfield)) == 1 - && dtype_get_mbmaxlen(dfield_get_type(dfield)) > 1) { - /* We assume that this CHAR field is encoded in a - variable-length character set where spaces have - 1:1 correspondence to 0x20 bytes, such as UTF-8. - - Consider a CHAR(n) field, a field of n characters. - It will contain between n*mbminlen and n*mbmaxlen bytes. - We will try to truncate it to n bytes by stripping - space padding. If the field contains single-byte - characters only, it will be truncated to n characters. - Consider a CHAR(5) field containing the string ".a " - where "." denotes a 3-byte character represented by - the bytes "$%&". After our stripping, the string will - be stored as "$%&a " (5 bytes). The string ".abc " - will be stored as "$%&abc" (6 bytes). - - The space padding will be restored in row0sel.c, function - row_sel_field_store_in_mysql_format(). */ - - ulint n_chars; - dtype_t* dtype = dfield_get_type(dfield); - - ut_a(!(dtype_get_len(dtype) % dtype_get_mbmaxlen(dtype))); - n_chars = dtype_get_len(dtype) / dtype_get_mbmaxlen(dtype); - - /* Strip space padding. */ - while (col_len > n_chars && ptr[col_len - 1] == 0x20) { - col_len--; - } - } else if (type == DATA_BLOB) { - ptr = row_mysql_read_blob_ref(&col_len, mysql_data, col_len); - } - - dfield_set_data(dfield, ptr, col_len); -} diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c index fdbbe993ff0..303fe5749bc 100644 --- a/innobase/row/row0ins.c +++ b/innobase/row/row0ins.c @@ -521,6 +521,10 @@ row_ins_cascade_calc_update_vec( fixed_size = dtype_get_fixed_size(type); + /* TODO: pad in UCS-2 with 0x0020. + TODO: How does the special truncation of + UTF-8 CHAR cols affect this? */ + if (fixed_size && ufield->new_val.len != UNIV_SQL_NULL && ufield->new_val.len < fixed_size) { diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index 2b2b2d83002..b13ba056d85 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -105,20 +105,6 @@ row_mysql_delay_if_needed(void) } } -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. */ - -byte* -row_mysql_read_var_ref_noninline( -/*=============================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length */ - byte* field) /* in: field */ -{ - return(row_mysql_read_var_ref(len, field)); -} - /*********************************************************************** Frees the blob heap in prebuilt when no longer needed. */ @@ -132,6 +118,61 @@ row_mysql_prebuilt_free_blob_heap( prebuilt->blob_heap = NULL; } +/*********************************************************************** +Stores a >= 5.0.3 format true VARCHAR length to dest, in the MySQL row +format. */ + +byte* +row_mysql_store_true_var_len( +/*=========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + byte* dest, /* in: where to store */ + ulint len, /* in: length, must fit in two bytes */ + ulint lenlen) /* in: storage length of len: either 1 or 2 bytes */ +{ + if (lenlen == 2) { + ut_a(len < 256 * 256); + + mach_write_to_2_little_endian(dest, len); + + return(dest + 2); + } + + ut_a(lenlen == 1); + ut_a(len < 256); + + mach_write_to_1(dest, len); + + return(dest + 1); +} + +/*********************************************************************** +Reads a >= 5.0.3 format true VARCHAR length, in the MySQL row format, and +returns a pointer to the data. */ + +byte* +row_mysql_read_true_varchar( +/*========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + ulint* len, /* out: variable-length field length */ + byte* field, /* in: field in the MySQL format */ + ulint lenlen) /* in: storage length of len: either 1 or 2 bytes */ +{ + if (lenlen == 2) { + *len = mach_read_from_2_little_endian(field); + + return(field + 2); + } + + ut_a(lenlen == 1); + + *len = mach_read_from_1(field); + + return(field + 1); +} + /*********************************************************************** Stores a reference to a BLOB in the MySQL format. */ @@ -191,15 +232,177 @@ row_mysql_read_blob_ref( } /****************************************************************** -Convert a row in the MySQL format to a row in the Innobase format. */ +Stores a non-SQL-NULL field given in the MySQL format in the InnoDB format. +The counterpart of this function is row_sel_field_store_in_mysql_format() in +row0sel.c. */ + +byte* +row_mysql_store_col_in_innobase_format( +/*===================================*/ + /* out: up to which byte we used + buf in the conversion */ + dfield_t* dfield, /* in/out: dfield where dtype + information must be already set when + this function is called! */ + byte* buf, /* in/out: buffer for a converted + integer value; this must be at least + col_len long then! */ + ibool row_format_col, /* TRUE if the mysql_data is from + a MySQL row, FALSE if from a MySQL + key value; + in MySQL, a true VARCHAR storage + format differs in a row and in a + key value: in a key value the length + is always stored in 2 bytes! */ + byte* mysql_data, /* in: MySQL column value, not + SQL NULL; NOTE that dfield may also + get a pointer to mysql_data, + therefore do not discard this as long + as dfield is used! */ + ulint col_len, /* in: MySQL column length; NOTE that + this is the storage length of the + column in the MySQL format row, not + necessarily the length of the actual + payload data; if the column is a true + VARCHAR then this is irrelevant */ + ibool comp) /* in: TRUE = compact format */ +{ + byte* ptr = mysql_data; + dtype_t* dtype; + ulint type; + ulint lenlen; + + dtype = dfield_get_type(dfield); + + type = dtype->mtype; + + if (type == DATA_INT) { + /* Store integer data in Innobase in a big-endian format, + sign bit negated if the data is a signed integer. In MySQL, + integers are stored in a little-endian format. */ + + ptr = buf + col_len; + + for (;;) { + ptr--; + *ptr = *mysql_data; + if (ptr == buf) { + break; + } + mysql_data++; + } + + if (!(dtype->prtype & DATA_UNSIGNED)) { + + *ptr = (byte) (*ptr ^ 128); + } + + buf += col_len; + } else if ((type == DATA_VARCHAR + || type == DATA_VARMYSQL + || type == DATA_BINARY)) { + + if (dtype_get_mysql_type(dtype) == DATA_MYSQL_TRUE_VARCHAR) { + /* The length of the actual data is stored to 1 or 2 + bytes at the start of the field */ + + if (row_format_col) { + if (dtype->prtype & DATA_LONG_TRUE_VARCHAR) { + lenlen = 2; + } else { + lenlen = 1; + } + } else { + /* In a MySQL key value, lenlen is always 2 */ + lenlen = 2; + } + + ptr = row_mysql_read_true_varchar(&col_len, mysql_data, + lenlen); + } else { + /* Remove trailing spaces from old style VARCHAR + columns. */ + + /* Handle UCS2 strings differently. */ + ulint mbminlen = dtype_get_mbminlen(dtype); + + ptr = mysql_data; + + if (mbminlen == 2) { + /* space=0x0020 */ + /* Trim "half-chars", just in case. */ + col_len &= ~1; + + while (col_len >= 2 && ptr[col_len - 2] == 0x00 + && ptr[col_len - 1] == 0x20) { + col_len -= 2; + } + } else { + ut_a(mbminlen == 1); + /* space=0x20 */ + while (col_len > 0 + && ptr[col_len - 1] == 0x20) { + col_len--; + } + } + } + } else if (comp && type == DATA_MYSQL + && dtype_get_mbminlen(dtype) == 1 + && dtype_get_mbmaxlen(dtype) > 1) { + /* In some cases we strip trailing spaces from UTF-8 and other + multibyte charsets, from FIXED-length CHAR columns, to save + space. UTF-8 would otherwise normally use 3 * the string length + bytes to store a latin1 string! */ + + /* We assume that this CHAR field is encoded in a + variable-length character set where spaces have + 1:1 correspondence to 0x20 bytes, such as UTF-8. + + Consider a CHAR(n) field, a field of n characters. + It will contain between n * mbminlen and n * mbmaxlen bytes. + We will try to truncate it to n bytes by stripping + space padding. If the field contains single-byte + characters only, it will be truncated to n characters. + Consider a CHAR(5) field containing the string ".a " + where "." denotes a 3-byte character represented by + the bytes "$%&". After our stripping, the string will + be stored as "$%&a " (5 bytes). The string ".abc " + will be stored as "$%&abc" (6 bytes). + + The space padding will be restored in row0sel.c, function + row_sel_field_store_in_mysql_format(). */ + + ulint n_chars; + + ut_a(!(dtype_get_len(dtype) % dtype_get_mbmaxlen(dtype))); + + n_chars = dtype_get_len(dtype) / dtype_get_mbmaxlen(dtype); + + /* Strip space padding. */ + while (col_len > n_chars && ptr[col_len - 1] == 0x20) { + col_len--; + } + } else if (type == DATA_BLOB && row_format_col) { + + ptr = row_mysql_read_blob_ref(&col_len, mysql_data, col_len); + } + + dfield_set_data(dfield, ptr, col_len); + + return(buf); +} + +/****************************************************************** +Convert a row in the MySQL format to a row in the Innobase format. Note that +the function to convert a MySQL format key value to an InnoDB dtuple is +row_sel_convert_mysql_key_to_innobase() in row0sel.c. */ static void row_mysql_convert_row_to_innobase( /*==============================*/ dtuple_t* row, /* in/out: Innobase row where the field type information is already - copied there, or will be copied - later */ + copied there! */ row_prebuilt_t* prebuilt, /* in: prebuilt struct where template must be of type ROW_MYSQL_WHOLE_ROW */ byte* mysql_rec) /* in: row in the MySQL format; @@ -236,10 +439,10 @@ row_mysql_convert_row_to_innobase( row_mysql_store_col_in_innobase_format(dfield, prebuilt->ins_upd_rec_buff + templ->mysql_col_offset, + TRUE, /* MySQL row format data */ mysql_rec + templ->mysql_col_offset, templ->mysql_col_len, - templ->type, prebuilt->table->comp, - templ->is_unsigned); + prebuilt->table->comp); next_column: ; } @@ -594,7 +797,8 @@ static dtuple_t* row_get_prebuilt_insert_row( /*========================*/ - /* out: prebuilt dtuple */ + /* out: prebuilt dtuple; the column + type information is also set in it */ row_prebuilt_t* prebuilt) /* in: prebuilt struct in MySQL handle */ { @@ -784,6 +988,7 @@ row_unlock_tables_for_mysql( lock_release_tables_off_kernel(trx); mutex_exit(&kernel_mutex); } + /************************************************************************* Sets a table lock on the table mentioned in prebuilt. */ @@ -962,10 +1167,13 @@ run_again: if (err != DB_SUCCESS) { que_thr_stop_for_mysql(thr); - thr->lock_state= QUE_THR_LOCK_ROW; + +/* TODO: what is this? */ thr->lock_state= QUE_THR_LOCK_ROW; + was_lock_wait = row_mysql_handle_errors(&err, trx, thr, &savept); - thr->lock_state= QUE_THR_LOCK_NOLOCK; + thr->lock_state= QUE_THR_LOCK_NOLOCK; + if (was_lock_wait) { goto run_again; } diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index 54dfbe997ce..a09e09342e0 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -2119,10 +2119,10 @@ row_sel_convert_mysql_key_to_innobase( + 256 * key_ptr[data_offset + 1]; data_field_len = data_offset + 2 + field->prefix_len; data_offset += 2; - - type = DATA_CHAR; /* now that we know the length, we - store the column value like it would - be a fixed char field */ + + /* now that we know the length, we store the column + value like it would be a fixed char field */ + } else if (field->prefix_len > 0) { /* Looks like MySQL pads unused end bytes in the prefix with space. Therefore, also in UTF-8, it is ok @@ -2146,11 +2146,12 @@ row_sel_convert_mysql_key_to_innobase( if (!is_null) { row_mysql_store_col_in_innobase_format( - dfield, buf, key_ptr + data_offset, - data_len, type, - index->table->comp, - dfield_get_type(dfield)->prtype - & DATA_UNSIGNED); + dfield, + buf, + FALSE, /* MySQL key value format col */ + key_ptr + data_offset, + data_len, + index->table->comp); buf += data_len; } @@ -2225,7 +2226,7 @@ row_sel_store_row_id_to_prebuilt( dict_index_name_print(stderr, prebuilt->trx, index); fprintf(stderr, "\n" "InnoDB: Field number %lu, record:\n", - (ulong) dict_index_get_sys_col_pos(index, DATA_ROW_ID)); + (ulong) dict_index_get_sys_col_pos(index, DATA_ROW_ID)); rec_print_new(stderr, index_rec, offsets); putc('\n', stderr); ut_error; @@ -2235,8 +2236,9 @@ row_sel_store_row_id_to_prebuilt( } /****************************************************************** -Stores a non-SQL-NULL field in the MySQL format. */ -UNIV_INLINE +Stores a non-SQL-NULL field in the MySQL format. The counterpart of this +function is row_mysql_store_col_in_innobase_format() in row0mysql.c. */ +static void row_sel_field_store_in_mysql_format( /*================================*/ @@ -2251,6 +2253,8 @@ row_sel_field_store_in_mysql_format( ulint len) /* in: length of the data */ { byte* ptr; + byte* field_end; + byte* pad_ptr; ut_ad(len != UNIV_SQL_NULL); @@ -2274,25 +2278,66 @@ row_sel_field_store_in_mysql_format( } ut_ad(templ->mysql_col_len == len); - } else if (templ->type == DATA_VARCHAR || templ->type == DATA_VARMYSQL - || templ->type == DATA_BINARY) { - /* Store the length of the data to the first two bytes of - dest; does not do anything yet because MySQL has - no real vars! */ + } else if (templ->type == DATA_VARCHAR + || templ->type == DATA_VARMYSQL + || templ->type == DATA_BINARY) { + + field_end = dest + templ->mysql_col_len; + + if (templ->mysql_type == DATA_MYSQL_TRUE_VARCHAR) { + /* This is a >= 5.0.3 type true VARCHAR. Store the + length of the data to the first byte or the first + two bytes of dest. */ - dest = row_mysql_store_var_len(dest, len); + dest = row_mysql_store_true_var_len(dest, len, + templ->mysql_length_bytes); + } + + /* Copy the actual data */ ut_memcpy(dest, data, len); -#if 0 - /* No real var implemented in MySQL yet! */ - ut_ad(templ->mysql_col_len >= len + 2); -#endif + /* Pad with trailing spaces. We pad with spaces also the + unused end of a >= 5.0.3 true VARCHAR column, just in case + MySQL expects its contents to be deterministic. */ + + pad_ptr = dest + len; + + ut_ad(templ->mbminlen <= templ->mbmaxlen); + + /* We handle UCS2 charset strings differently. */ + if (templ->mbminlen == 2) { + /* A space char is two bytes, 0x0020 in UCS2 */ + + if (len & 1) { + /* A 0x20 has been stripped from the column. + Pad it back. */ + + if (pad_ptr < field_end) { + *pad_ptr = 0x20; + pad_ptr++; + } + } + + /* Pad the rest of the string with 0x0020 */ + + while (pad_ptr < field_end) { + *pad_ptr = 0x00; + pad_ptr++; + *pad_ptr = 0x20; + pad_ptr++; + } + } else { + ut_ad(templ->mbminlen == 1); + /* space=0x20 */ + + memset(pad_ptr, 0x20, field_end - pad_ptr); + } } else if (templ->type == DATA_BLOB) { /* Store a pointer to the BLOB buffer to dest: the BLOB was already copied to the buffer in row_sel_store_mysql_rec */ - row_mysql_store_blob_ref(dest, templ->mysql_col_len, - data, len); + row_mysql_store_blob_ref(dest, templ->mysql_col_len, data, + len); } else if (templ->type == DATA_MYSQL) { memcpy(dest, data, len); @@ -2306,9 +2351,10 @@ row_sel_field_store_in_mysql_format( ut_a(len * templ->mbmaxlen >= templ->mysql_col_len); if (templ->mbminlen != templ->mbmaxlen) { - /* Pad with spaces. This undoes the stripping + /* Pad with spaces. This undoes the stripping done in row0mysql.ic, function row_mysql_store_col_in_innobase_format(). */ + memset(dest + len, 0x20, templ->mysql_col_len - len); } } else { @@ -2320,6 +2366,7 @@ row_sel_field_store_in_mysql_format( || templ->type == DATA_DOUBLE || templ->type == DATA_DECIMAL); ut_ad(templ->mysql_col_len == len); + memcpy(dest, data, len); } } @@ -2436,40 +2483,6 @@ row_sel_store_mysql_rec( mysql_rec + templ->mysql_col_offset, templ, data, len); - if (templ->type == DATA_VARCHAR - || templ->type == DATA_VARMYSQL - || templ->type == DATA_BINARY) { - /* Pad with trailing spaces */ - data = mysql_rec + templ->mysql_col_offset; - - ut_ad(templ->mbminlen <= templ->mbmaxlen); - /* Handle UCS2 strings differently. */ - if (templ->mbminlen == 2) { - /* space=0x0020 */ - ulint col_len = templ->mysql_col_len; - - ut_a(!(col_len & 1)); - if (len & 1) { - /* A 0x20 has been stripped - from the column. - Pad it back. */ - goto pad_0x20; - } - /* Pad the rest of the string - with 0x0020 */ - while (len < col_len) { - data[len++] = 0x00; - pad_0x20: - data[len++] = 0x20; - } - } else { - ut_ad(templ->mbminlen == 1); - /* space=0x20 */ - memset(data + len, 0x20, - templ->mysql_col_len - len); - } - } - /* Cleanup */ if (extern_field_heap) { mem_heap_free(extern_field_heap); diff --git a/innobase/trx/trx0trx.c b/innobase/trx/trx0trx.c index 614058e6860..643f7e164e5 100644 --- a/innobase/trx/trx0trx.c +++ b/innobase/trx/trx0trx.c @@ -1958,7 +1958,7 @@ trx_recover_for_mysql( ut_print_timestamp(stderr); fprintf(stderr, -" InnoDB: %d transactions in prepare state after recovery\n", +" InnoDB: %d transactions in prepared state after recovery\n", count); return (count); diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 73d5ac9e94e..7132ab00bb9 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -1074,6 +1074,8 @@ innobase_init(void) DBUG_ENTER("innobase_init"); + ut_a(DATA_MYSQL_TRUE_VARCHAR == (ulint)MYSQL_TYPE_VARCHAR); + os_innodb_umask = (ulint)my_umask; /* First calculate the default path for innodb_data_home_dir etc., @@ -2244,7 +2246,9 @@ innobase_mysql_cmp( } /****************************************************************** -Converts a MySQL type to an InnoDB type. */ +Converts a MySQL type to an InnoDB type. Note that this function returns +the 'mtype' of InnoDB. InnoDB differentiates between MySQL's old <= 4.1 +VARCHAR and the new true VARCHAR in >= 5.0.3 by the 'prtype'. */ inline ulint get_innobase_type_from_mysql_type( @@ -2259,8 +2263,9 @@ get_innobase_type_from_mysql_type( switch (field->type()) { /* NOTE that we only allow string types in DATA_MYSQL and DATA_VARMYSQL */ - case MYSQL_TYPE_VAR_STRING: - case MYSQL_TYPE_VARCHAR: if (field->binary()) { + case MYSQL_TYPE_VAR_STRING: /* old <= 4.1 VARCHAR */ + case MYSQL_TYPE_VARCHAR: /* new >= 5.0.3 true VARCHAR */ + if (field->binary()) { return(DATA_BINARY); } else if (strcmp( field->charset()->name, @@ -2313,6 +2318,35 @@ get_innobase_type_from_mysql_type( return(0); } +/*********************************************************************** +Writes an unsigned integer value < 64k to 2 bytes, in the little-endian +storage format. */ +inline +void +innobase_write_to_2_little_endian( +/*==============================*/ + byte* buf, /* in: where to store */ + ulint val) /* in: value to write, must be < 64k */ +{ + ut_a(val < 256 * 256); + + buf[0] = (byte)(val & 0xFF); + buf[1] = (byte)(val / 256); +} + +/*********************************************************************** +Reads an unsigned integer value < 64k from 2 bytes, in the little-endian +storage format. */ +inline +uint +innobase_read_from_2_little_endian( +/*===============================*/ + /* out: value */ + const mysql_byte* buf) /* in: from where to read */ +{ + return((ulint)(buf[0]) + 256 * ((ulint)(buf[1]))); +} + /*********************************************************************** Stores a key value for a row to a buffer. */ @@ -2352,9 +2386,14 @@ ha_innobase::store_key_val_for_row( 3. In a column prefix field, prefix_len next bytes are reserved for data. In a normal field the max field length next bytes are reserved for data. For a VARCHAR(n) the max field length is n. If the stored - value is the SQL NULL then these data bytes are set to 0. */ + value is the SQL NULL then these data bytes are set to 0. - /* We have to zero-fill the buffer so that MySQL is able to use a + 4. We always use a 2 byte length for a true >= 5.0.3 VARCHAR. Note that + in the MySQL row format, the length is stored in 1 or 2 bytes, + depending on the maximum allowed length. But in the MySQL key value + format, the length always takes 2 bytes. + + We have to zero-fill the buffer so that MySQL is able to use a simple memcmp to compare two key values to determine if they are equal. MySQL does this to compare contents of two 'ref' values. */ @@ -2377,7 +2416,43 @@ ha_innobase::store_key_val_for_row( field = key_part->field; mysql_type = field->type(); - if (mysql_type == FIELD_TYPE_TINY_BLOB + if (mysql_type == MYSQL_TYPE_VARCHAR) { + /* >= 5.0.3 true VARCHAR */ + ulint lenlen; + ulint len; + byte* data; + + if (is_null) { + buff += key_part->length + 2; + + continue; + } + + lenlen = (ulint) + (((Field_varstring*)field)->length_bytes); + + data = row_mysql_read_true_varchar(&len, + (byte*) (record + + (ulint)get_field_offset(table, field)), + lenlen); + + /* The length in a key value is always stored in 2 + bytes */ + + row_mysql_store_true_var_len((byte*)buff, len, 2); + buff += 2; + + memcpy(buff, data, len); + + /* Note that we always reserve the maximum possible + length of the true VARCHAR in the key value, though + only len first bytes after the 2 length bytes contain + actual data. The rest of the space was reset to zero + in the bzero() call above. */ + + buff += key_part->length; + + } else if (mysql_type == FIELD_TYPE_TINY_BLOB || mysql_type == FIELD_TYPE_MEDIUM_BLOB || mysql_type == FIELD_TYPE_BLOB || mysql_type == FIELD_TYPE_LONG_BLOB) { @@ -2385,9 +2460,9 @@ ha_innobase::store_key_val_for_row( ut_a(key_part->key_part_flag & HA_PART_KEY_SEG); if (is_null) { - buff += key_part->length + 2; + buff += key_part->length + 2; - continue; + continue; } blob_data = row_mysql_read_blob_ref(&blob_len, @@ -2404,12 +2479,15 @@ ha_innobase::store_key_val_for_row( /* MySQL reserves 2 bytes for the length and the storage of the number is little-endian */ - ut_a(blob_len < 256); - *((byte*)buff) = (byte)blob_len; + innobase_write_to_2_little_endian( + (byte*)buff, (ulint)blob_len); buff += 2; memcpy(buff, blob_data, blob_len); + /* Note that we always reserve the maximum possible + length of the BLOB prefix in the key value. */ + buff += key_part->length; } else { if (is_null) { @@ -2573,6 +2651,13 @@ build_template( templ->mysql_col_len = (ulint) field->pack_length(); templ->type = get_innobase_type_from_mysql_type(field); + templ->mysql_type = (ulint)field->type(); + + if (templ->mysql_type == DATA_MYSQL_TRUE_VARCHAR) { + templ->mysql_length_bytes = (ulint) + (((Field_varstring*)field)->length_bytes); + } + templ->charset = dtype_get_charset_coll_noninline( index->table->cols[i].type.prtype); templ->mbminlen = index->table->cols[i].type.mbminlen; @@ -2810,54 +2895,6 @@ func_exit: DBUG_RETURN(error); } -/****************************************************************** -Converts field data for storage in an InnoDB update vector. */ -inline -mysql_byte* -innobase_convert_and_store_changed_col( -/*===================================*/ - /* out: pointer to the end of the converted - data in the buffer */ - upd_field_t* ufield, /* in/out: field in the update vector */ - mysql_byte* buf, /* in: buffer we can use in conversion */ - mysql_byte* data, /* in: column data to store */ - ulint len, /* in: data len */ - ulint col_type,/* in: data type in InnoDB type numbers */ - ulint is_unsigned)/* in: != 0 if an unsigned integer type */ -{ - uint i; - - if (len == UNIV_SQL_NULL) { - data = NULL; - } else if (col_type == DATA_VARCHAR || col_type == DATA_BINARY - || col_type == DATA_VARMYSQL) { - /* Remove trailing spaces */ - while (len > 0 && data[len - 1] == ' ') { - len--; - } - } else if (col_type == DATA_INT) { - /* Store integer data in InnoDB in a big-endian - format, sign bit negated, if signed */ - - for (i = 0; i < len; i++) { - buf[len - 1 - i] = data[i]; - } - - if (!is_unsigned) { - buf[0] = buf[0] ^ 128; - } - - data = buf; - - buf += len; - } - - ufield->new_val.data = data; - ufield->new_val.len = len; - - return(buf); -} - /************************************************************************** Checks which fields have changed in a row and stores information of them to an update vector. */ @@ -2878,9 +2915,11 @@ calc_row_difference( { mysql_byte* original_upd_buff = upd_buff; Field* field; + enum_field_types field_mysql_type; uint n_fields; ulint o_len; ulint n_len; + ulint col_pack_len; byte* o_ptr; byte* n_ptr; byte* buf; @@ -2888,6 +2927,7 @@ calc_row_difference( ulint col_type; ulint is_unsigned; ulint n_changed = 0; + dfield_t dfield; uint i; n_fields = table->s->fields; @@ -2907,9 +2947,13 @@ calc_row_difference( o_ptr = (byte*) old_row + get_field_offset(table, field); n_ptr = (byte*) new_row + get_field_offset(table, field); - o_len = field->pack_length(); - n_len = field->pack_length(); + + col_pack_len = field->pack_length(); + o_len = col_pack_len; + n_len = col_pack_len; + field_mysql_type = field->type(); + col_type = get_innobase_type_from_mysql_type(field); is_unsigned = (ulint) (field->flags & UNSIGNED_FLAG); @@ -2918,14 +2962,29 @@ calc_row_difference( case DATA_BLOB: o_ptr = row_mysql_read_blob_ref(&o_len, o_ptr, o_len); n_ptr = row_mysql_read_blob_ref(&n_len, n_ptr, n_len); + break; + case DATA_VARCHAR: case DATA_BINARY: case DATA_VARMYSQL: - o_ptr = row_mysql_read_var_ref_noninline(&o_len, - o_ptr); - n_ptr = row_mysql_read_var_ref_noninline(&n_len, - n_ptr); + if (field_mysql_type == MYSQL_TYPE_VARCHAR) { + /* This is a >= 5.0.3 type true VARCHAR where + the real payload data length is stored in + 1 or 2 bytes */ + + o_ptr = row_mysql_read_true_varchar( + &o_len, o_ptr, + (ulint) + (((Field_varstring*)field)->length_bytes)); + + n_ptr = row_mysql_read_true_varchar( + &n_len, n_ptr, + (ulint) + (((Field_varstring*)field)->length_bytes)); + } + + break; default: ; } @@ -2947,12 +3006,29 @@ calc_row_difference( /* The field has changed */ ufield = uvect->fields + n_changed; + + /* Let us use a dummy dfield to make the conversion + from the MySQL column format to the InnoDB format */ + + dfield.type = (prebuilt->table->cols + i)->type; + + if (n_len != UNIV_SQL_NULL) { + buf = row_mysql_store_col_in_innobase_format( + &dfield, + (byte*)buf, + TRUE, + n_ptr, + col_pack_len, + prebuilt->table->comp); + ufield->new_val.data = + dfield_get_data(&dfield); + ufield->new_val.len = + dfield_get_len(&dfield); + } else { + ufield->new_val.data = NULL; + ufield->new_val.len = UNIV_SQL_NULL; + } - buf = (byte*) - innobase_convert_and_store_changed_col(ufield, - (mysql_byte*)buf, - (mysql_byte*)n_ptr, n_len, col_type, - is_unsigned); ufield->exp = NULL; ufield->field_no = (prebuilt->table->cols + i)->clust_pos; @@ -3701,7 +3777,7 @@ ha_innobase::rnd_pos( } if (error) { - DBUG_PRINT("error",("Got error: %ld",error)); + DBUG_PRINT("error", ("Got error: %ld", error)); DBUG_RETURN(error); } @@ -3709,10 +3785,11 @@ ha_innobase::rnd_pos( for the table, and it is == ref_length */ error = index_read(buf, pos, ref_length, HA_READ_KEY_EXACT); - if (error) - { - DBUG_PRINT("error",("Got error: %ld",error)); + + if (error) { + DBUG_PRINT("error", ("Got error: %ld", error)); } + change_active_index(keynr); DBUG_RETURN(error); @@ -3752,12 +3829,11 @@ ha_innobase::position( ref_length, record); } - /* Since we do not store len to the buffer 'ref', we must assume - that len is always fixed for this table. The following assertion - checks this. */ + /* We assume that the 'ref' value len is always fixed for the same + table. */ if (len != ref_length) { - fprintf(stderr, + fprintf(stderr, "InnoDB: Error: stored ref len is %lu, but table ref len is %lu\n", (ulong)len, (ulong)ref_length); } @@ -3788,9 +3864,11 @@ create_table_def( ulint n_cols; int error; ulint col_type; + ulint col_len; ulint nulls_allowed; ulint unsigned_type; ulint binary_type; + ulint long_true_varchar; ulint charset_no; ulint i; @@ -3837,17 +3915,40 @@ create_table_def( charset_no = (ulint)field->charset()->number; - ut_a(charset_no < 256); /* in ut0type.h we assume that - the number fits in one byte */ + ut_a(charset_no < 256); /* in data0type.h we assume + that the number fits in one + byte */ } - dict_mem_table_add_col(table, (char*) field->field_name, - col_type, dtype_form_prtype( - (ulint)field->type() - | nulls_allowed | unsigned_type - | binary_type, - + charset_no), - field->pack_length(), 0); + ut_a(field->type() < 256); /* we assume in dtype_form_prtype() + that this fits in one byte */ + col_len = field->pack_length(); + + /* The MySQL pack length contains 1 or 2 bytes length field + for a true VARCHAR. Let us subtract that, so that the InnoDB + column length in the InnoDB data dictionary is the real + maximum byte length of the actual data. */ + + long_true_varchar = 0; + + if (field->type() == MYSQL_TYPE_VARCHAR) { + col_len -= ((Field_varstring*)field)->length_bytes; + + if (((Field_varstring*)field)->length_bytes == 2) { + long_true_varchar = DATA_LONG_TRUE_VARCHAR; + } + } + + dict_mem_table_add_col(table, + (char*) field->field_name, + col_type, + dtype_form_prtype( + (ulint)field->type() + | nulls_allowed | unsigned_type + | binary_type | long_true_varchar, + charset_no), + col_len, + 0); } error = row_create_table_for_mysql(table, trx); @@ -6125,54 +6226,79 @@ ha_innobase::get_auto_increment() return((ulonglong) nr); } +/*********************************************************************** +Compares two 'refs'. A 'ref' is the (internal) primary key value of the row. +If there is no explicitly declared non-null unique key or a primary key, then +InnoDB internally uses the row id as the primary key. */ int ha_innobase::cmp_ref( - const mysql_byte *ref1, - const mysql_byte *ref2) +/*=================*/ + /* out: < 0 if ref1 < ref2, 0 if equal, else + > 0 */ + const mysql_byte* ref1, /* in: an (internal) primary key value in the + MySQL key value format */ + const mysql_byte* ref2) /* in: an (internal) primary key value in the + MySQL key value format */ { - row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt; + row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt; enum_field_types mysql_type; - Field* field; - int result; + Field* field; + KEY_PART_INFO* key_part; + KEY_PART_INFO* key_part_end; + uint len1; + uint len2; + int result; - if (prebuilt->clust_index_was_generated) - return memcmp(ref1, ref2, DATA_ROW_ID_LEN); + if (prebuilt->clust_index_was_generated) { + /* The 'ref' is an InnoDB row id */ + + return(memcmp(ref1, ref2, DATA_ROW_ID_LEN)); + } + + /* Do a type-aware comparison of primary key fields. PK fields + are always NOT NULL, so no checks for NULL are performed. */ + + key_part = table->key_info[table->s->primary_key].key_part; + + key_part_end = key_part + + table->key_info[table->s->primary_key].key_parts; - /* Do type-aware comparison of Primary Key members. PK members - are always NOT NULL, so no checks for NULL are performed */ - KEY_PART_INFO *key_part= - table->key_info[table->s->primary_key].key_part; - KEY_PART_INFO *key_part_end= - key_part + table->key_info[table->s->primary_key].key_parts; for (; key_part != key_part_end; ++key_part) { field = key_part->field; mysql_type = field->type(); + if (mysql_type == FIELD_TYPE_TINY_BLOB || mysql_type == FIELD_TYPE_MEDIUM_BLOB || mysql_type == FIELD_TYPE_BLOB || mysql_type == FIELD_TYPE_LONG_BLOB) { - ut_a(!ref1[1]); - ut_a(!ref2[1]); - byte len1= *ref1; - byte len2= *ref2; + /* In the MySQL key value format, a column prefix of + a BLOB is preceded by a 2-byte length field */ + + len1 = innobase_read_from_2_little_endian(ref1); + len2 = innobase_read_from_2_little_endian(ref2); + ref1 += 2; ref2 += 2; - result = - ((Field_blob*)field)->cmp((const char*)ref1, len1, + result = ((Field_blob*)field)->cmp( + (const char*)ref1, len1, (const char*)ref2, len2); } else { - result = - field->cmp((const char*)ref1, (const char*)ref2); + result = field->cmp((const char*)ref1, + (const char*)ref2); + } + + if (result) { + + return(result); } - if (result) - return result; ref1 += key_part->length; ref2 += key_part->length; } - return 0; + + return(0); } char* diff --git a/sql/ha_innodb.h b/sql/ha_innodb.h index 1c8063b9373..e1ed3a486cf 100644 --- a/sql/ha_innodb.h +++ b/sql/ha_innodb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB && Innobase Oy +/* Copyright (C) 2000-2005 MySQL AB && Innobase Oy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,9 +40,10 @@ my_bool innobase_query_caching_of_table_permitted(THD* thd, char* full_name, /* The class defining a handle to an Innodb table */ class ha_innobase: public handler { - void* innobase_prebuilt; /* (row_prebuilt_t*) prebuilt - struct in Innodb, used to save - CPU */ + void* innobase_prebuilt;/* (row_prebuilt_t*) prebuilt + struct in InnoDB, used to save + CPU time with prebuilt data + structures*/ THD* user_thd; /* the thread handle of the user currently using the handle; this is set in external_lock function */ @@ -83,12 +84,12 @@ class ha_innobase: public handler public: ha_innobase(TABLE *table): handler(table), int_table_flags(HA_REC_NOT_IN_SEQ | - HA_NULL_IN_KEY | HA_FAST_KEY_READ | + HA_NULL_IN_KEY | + HA_FAST_KEY_READ | HA_CAN_INDEX_BLOBS | HA_CAN_SQL_HANDLER | HA_NOT_EXACT_COUNT | HA_PRIMARY_KEY_IN_READ_INDEX | - HA_NO_VARCHAR | HA_TABLE_SCAN_ON_INDEX), last_dup_key((uint) -1), start_of_scan(0), @@ -108,7 +109,10 @@ class ha_innobase: public handler ulong table_flags() const { return int_table_flags; } ulong index_flags(uint idx, uint part, bool all_parts) const { - return (HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER | HA_READ_RANGE | + return (HA_READ_NEXT | + HA_READ_PREV | + HA_READ_ORDER | + HA_READ_RANGE | HA_KEYREAD_ONLY); } uint max_supported_keys() const { return MAX_KEY; } @@ -163,7 +167,8 @@ class ha_innobase: public handler int start_stmt(THD *thd); void position(byte *record); - ha_rows records_in_range(uint inx, key_range *min_key, key_range *max_key); + ha_rows records_in_range(uint inx, key_range *min_key, key_range + *max_key); ha_rows estimate_rows_upper_bound(); int create(const char *name, register TABLE *form,