summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_innodb.cc30
-rw-r--r--sql/ha_innodb.h3
-rw-r--r--sql/mysqld.cc8
-rw-r--r--sql/share/czech/errmsg.txt2
-rw-r--r--sql/share/danish/errmsg.txt2
-rw-r--r--sql/share/dutch/errmsg.txt2
-rw-r--r--sql/share/english/errmsg.txt2
-rw-r--r--sql/share/estonian/errmsg.txt2
-rw-r--r--sql/share/french/errmsg.txt2
-rw-r--r--sql/share/german/errmsg.txt2
-rw-r--r--sql/share/greek/errmsg.txt2
-rw-r--r--sql/share/hungarian/errmsg.txt2
-rw-r--r--sql/share/japanese/errmsg.txt2
-rw-r--r--sql/share/korean/errmsg.txt2
-rw-r--r--sql/share/norwegian-ny/errmsg.txt2
-rw-r--r--sql/share/norwegian/errmsg.txt2
-rw-r--r--sql/share/polish/errmsg.txt2
-rw-r--r--sql/share/portuguese/errmsg.txt2
-rw-r--r--sql/share/romanian/errmsg.txt2
-rw-r--r--sql/share/russian/errmsg.txt2
-rw-r--r--sql/share/slovak/errmsg.txt2
-rw-r--r--sql/share/spanish/errmsg.txt2
-rw-r--r--sql/share/swedish/errmsg.txt2
-rw-r--r--sql/share/ukrainian/errmsg.txt2
-rw-r--r--sql/sql_parse.cc6
-rw-r--r--sql/sql_select.cc14
26 files changed, 78 insertions, 25 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index 21dd7f748c2..f233dd5a5c5 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -103,6 +103,7 @@ uint innobase_flush_log_at_trx_commit = 1;
my_bool innobase_log_archive = FALSE;
my_bool innobase_use_native_aio = FALSE;
my_bool innobase_fast_shutdown = TRUE;
+my_bool innobase_create_status_file = FALSE;
static char *internal_innobase_data_file_path = NULL;
@@ -406,6 +407,30 @@ innobase_mysql_print_thd(
}
/*************************************************************************
+Creates a temporary file. */
+extern "C"
+int
+innobase_mysql_tmpfile(void)
+/*========================*/
+ /* out: temporary file descriptor, or < 0 on error */
+{
+ char filename[FN_REFLEN];
+ File fd = create_temp_file(filename, NullS, "ib",
+#ifdef __WIN__
+ O_BINARY | O_TRUNC | O_SEQUENTIAL |
+ O_TEMPORARY | O_SHORT_LIVED |
+#endif /* __WIN__ */
+ O_CREAT | O_EXCL | O_RDWR,
+ MYF(MY_WME));
+#ifndef __WIN__
+ if (fd >= 0) {
+ unlink(filename);
+ }
+#endif /* !__WIN__ */
+ return(fd);
+}
+
+/*************************************************************************
Gets the InnoDB transaction handle for a MySQL handler object, creates
an InnoDB transaction struct if the corresponding MySQL thread struct still
lacks one. */
@@ -861,6 +886,7 @@ innobase_init(void)
srv_force_recovery = (ulint) innobase_force_recovery;
srv_fast_shutdown = (ibool) innobase_fast_shutdown;
+ srv_innodb_status = (ibool) innobase_create_status_file;
srv_print_verbose_log = mysql_embedded ? 0 : 1;
@@ -4270,7 +4296,7 @@ ha_innobase::update_table_comment(
trx_search_latch_release_if_reserved(prebuilt->trx);
str = NULL;
- if (FILE* file = tmpfile()) {
+ if (FILE* file = os_file_create_tmpfile()) {
long flen;
/* output the data to a temporary file */
@@ -4330,7 +4356,7 @@ ha_innobase::get_foreign_key_create_info(void)
update_thd(current_thd);
- if (FILE* file = tmpfile()) {
+ if (FILE* file = os_file_create_tmpfile()) {
long flen;
prebuilt->trx->op_info = (char*)"getting info on foreign keys";
diff --git a/sql/ha_innodb.h b/sql/ha_innodb.h
index 384b3dec949..5736f70c65c 100644
--- a/sql/ha_innodb.h
+++ b/sql/ha_innodb.h
@@ -203,7 +203,8 @@ extern char *innobase_log_group_home_dir, *innobase_log_arch_dir;
extern char *innobase_unix_file_flush_method;
/* The following variables have to be my_bool for SHOW VARIABLES to work */
extern my_bool innobase_log_archive,
- innobase_use_native_aio, innobase_fast_shutdown;
+ innobase_use_native_aio, innobase_fast_shutdown,
+ innobase_create_status_file;
extern "C" {
extern ulong srv_max_buf_pool_modified_pct;
}
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 80e9292a873..3f7c187ccdd 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2614,6 +2614,9 @@ server.");
printf(ER(ER_READY),my_progname,server_version,
((unix_sock == INVALID_SOCKET) ? (char*) "" : mysql_unix_port),
mysql_port);
+ if (MYSQL_COMPILATION_COMMENT[0] != '\0')
+ fputs(" " MYSQL_COMPILATION_COMMENT, stdout);
+ putchar('\n');
fflush(stdout);
#ifdef __NT__
@@ -3455,6 +3458,7 @@ enum options_mysqld {
OPT_INNODB_LOCK_WAIT_TIMEOUT,
OPT_INNODB_THREAD_CONCURRENCY,
OPT_INNODB_FORCE_RECOVERY,
+ OPT_INNODB_STATUS_FILE,
OPT_INNODB_MAX_DIRTY_PAGES_PCT,
OPT_BDB_CACHE_SIZE,
OPT_BDB_LOG_BUFFER_SIZE,
@@ -3622,6 +3626,10 @@ struct my_option my_long_options[] =
{"innodb_fast_shutdown", OPT_INNODB_FAST_SHUTDOWN,
"Speeds up server shutdown process", (gptr*) &innobase_fast_shutdown,
(gptr*) &innobase_fast_shutdown, 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0},
+ {"innodb_status_file", OPT_INNODB_STATUS_FILE,
+ "Enable SHOW INNODB STATUS output in the innodb_status.<pid> file",
+ (gptr*) &innobase_create_status_file, (gptr*) &innobase_create_status_file,
+ 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
{"innodb_max_dirty_pages_pct", OPT_INNODB_MAX_DIRTY_PAGES_PCT,
"Percentage of dirty pages allowed in bufferpool", (gptr*) &srv_max_buf_pool_modified_pct,
(gptr*) &srv_max_buf_pool_modified_pct, 0, GET_ULONG, REQUIRED_ARG, 90, 0, 100, 0, 0, 0},
diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt
index e36475d7803..b6737df91e1 100644
--- a/sql/share/czech/errmsg.txt
+++ b/sql/share/czech/errmsg.txt
@@ -86,7 +86,7 @@
"Blob sloupec '%-.64s' nem-Bù¾e být pou¾it jako klíè",
"P-Bøíli¹ velká délka sloupce '%-.64s' (nejvíce %d). Pou¾ijte BLOB",
"M-Bù¾ete mít pouze jedno AUTO pole a to musí být definováno jako klíè",
-"%s: p-Bøipraven na spojení\n",
+"%s: p-Bøipraven na spojení",
"%s: norm-Bální ukonèení\n",
"%s: p-Bøijat signal %d, konèím\n",
"%s: ukon-Bèení práce hotovo\n",
diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt
index 4e612c599ec..ba50c78e92c 100644
--- a/sql/share/danish/errmsg.txt
+++ b/sql/share/danish/errmsg.txt
@@ -80,7 +80,7 @@
"BLOB feltet '%-.64s' kan ikke bruges ved specifikation af indeks",
"For stor feltlængde for kolonne '%-.64s' (maks = %d). Brug BLOB i stedet",
"Der kan kun specificeres eet AUTO_INCREMENT-felt, og det skal være indekseret",
-"%s: klar til tilslutninger\n",
+"%s: klar til tilslutninger",
"%s: Normal nedlukning\n",
"%s: Fangede signal %d. Afslutter!!\n",
"%s: Server lukket\n",
diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt
index 4aafa51e856..1b9c1025e69 100644
--- a/sql/share/dutch/errmsg.txt
+++ b/sql/share/dutch/errmsg.txt
@@ -88,7 +88,7 @@
"BLOB kolom '%-.64s' kan niet gebruikt worden bij zoeksleutel specificatie",
"Te grote kolomlengte voor '%-.64s' (max = %d). Maak hiervoor gebruik van het type BLOB",
"Er kan slechts 1 autofield zijn en deze moet als zoeksleutel worden gedefinieerd.",
-"%s: klaar voor verbindingen\n",
+"%s: klaar voor verbindingen",
"%s: Normaal afgesloten \n",
"%s: Signaal %d. Systeem breekt af!\n",
"%s: Afsluiten afgerond\n",
diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
index dca9311b277..edbf2357ff8 100644
--- a/sql/share/english/errmsg.txt
+++ b/sql/share/english/errmsg.txt
@@ -77,7 +77,7 @@
"BLOB column '%-.64s' can't be used in key specification with the used table type",
"Too big column length for column '%-.64s' (max = %d). Use BLOB instead",
"Incorrect table definition; There can only be one auto column and it must be defined as a key",
-"%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d\n",
+"%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d",
"%s: Normal shutdown\n",
"%s: Got signal %d. Aborting!\n",
"%s: Shutdown Complete\n",
diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt
index f583568193f..8ec5d4b29f0 100644
--- a/sql/share/estonian/errmsg.txt
+++ b/sql/share/estonian/errmsg.txt
@@ -82,7 +82,7 @@
"BLOB-tüüpi tulpa '%-.64s' ei saa kasutada võtmena",
"Tulba '%-.64s' pikkus on liiga pikk (maksimaalne pikkus: %d). Kasuta BLOB väljatüüpi",
"Vigane tabelikirjeldus; Tabelis tohib olla üks auto_increment tüüpi tulp ning see peab olema defineeritud võtmena",
-"%s: ootab ühendusi\n",
+"%s: ootab ühendusi",
"%s: MySQL lõpetas\n",
"%s: sain signaali %d. Lõpetan!\n",
"%s: Lõpp\n",
diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt
index cabb22a6494..3c5c827aa62 100644
--- a/sql/share/french/errmsg.txt
+++ b/sql/share/french/errmsg.txt
@@ -77,7 +77,7 @@
"Champ BLOB '%-.64s' ne peut être utilisé dans une clé",
"Champ '%-.64s' trop long (max = %d). Utilisez un BLOB",
"Un seul champ automatique est permis et il doit être indexé",
-"%s: Prêt pour des connections\n",
+"%s: Prêt pour des connections",
"%s: Arrêt normal du serveur\n",
"%s: Reçu le signal %d. Abandonne!\n",
"%s: Arrêt du serveur terminé\n",
diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt
index 518cb507466..3960dcc2122 100644
--- a/sql/share/german/errmsg.txt
+++ b/sql/share/german/errmsg.txt
@@ -80,7 +80,7 @@
"BLOB-Feld '%-.64s' kann nicht als Schlüssel verwendet werden.",
"Feldlänge für Feld '%-.64s' zu groß (max = %d). BLOB-Feld verwenden!",
"Nur ein Auto-Feld möglich, welches als Schlüssel definiert werden muß.",
-"%-.64s: Warten auf Verbindungen.\n",
+"%-.64s: Warten auf Verbindungen",
"%-.64s: Normal beendet.\n",
"%-.64s: Signal %d erhalten. Abbruch!\n",
"%-.64s: Shutdown ausgeführt.\n",
diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt
index d993d80dcc1..3e9a68f2b4b 100644
--- a/sql/share/greek/errmsg.txt
+++ b/sql/share/greek/errmsg.txt
@@ -77,7 +77,7 @@
"Ðåäßï ôýðïõ Blob '%-.64s' äåí ìðïñåß íá ÷ñçóéìïðïéçèåß óôïí ïñéóìü åíüò êëåéäéïý (key specification)",
"Ðïëý ìåãÜëï ìÞêïò ãéá ôï ðåäßï '%-.64s' (max = %d). Ðáñáêáëþ ÷ñçóéìïðïéåßóôå ôïí ôýðï BLOB",
"Ìðïñåß íá õðÜñ÷åé ìüíï Ýíá auto field êáé ðñÝðåé íá Ý÷åé ïñéóèåß óáí key",
-"%s: óå áíáìïíÞ óõíäÝóåùí\n",
+"%s: óå áíáìïíÞ óõíäÝóåùí",
"%s: ÖõóéïëïãéêÞ äéáäéêáóßá shutdown\n",
"%s: ÅëÞöèç ôï ìÞíõìá %d. Ç äéáäéêáóßá åãêáôáëåßðåôáé!\n",
"%s: Ç äéáäéêáóßá Shutdown ïëïêëçñþèçêå\n",
diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt
index 4a65e735ef9..9da878981b0 100644
--- a/sql/share/hungarian/errmsg.txt
+++ b/sql/share/hungarian/errmsg.txt
@@ -79,7 +79,7 @@
"Blob objektum '%-.64s' nem hasznalhato kulcskent",
"A(z) '%-.64s' oszlop tul hosszu. (maximum = %d). Hasznaljon BLOB tipust inkabb.",
"Csak egy auto mezo lehetseges, es azt kulcskent kell definialni.",
-"%s: kapcsolatra kesz\n",
+"%s: kapcsolatra kesz",
"%s: Normal leallitas\n",
"%s: %d jelzes. Megszakitva!\n",
"%s: A leallitas kesz\n",
diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt
index c384c4bded4..7e267261a2e 100644
--- a/sql/share/japanese/errmsg.txt
+++ b/sql/share/japanese/errmsg.txt
@@ -79,7 +79,7 @@
"BLOB column '%-.64s' can't be used in key specification with the used table type",
"column '%-.64s' ¤Ï,³ÎÊݤ¹¤ë column ¤ÎÂ礭¤µ¤¬Â¿¤¹¤®¤Þ¤¹. (ºÇÂç %d ¤Þ¤Ç). BLOB ¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤.",
"¥Æ¡¼¥Ö¥ë¤ÎÄêµÁ¤¬°ã¤¤¤Þ¤¹; There can only be one auto column and it must be defined as a key",
-"%s: ½àÈ÷´°Î»\n",
+"%s: ½àÈ÷´°Î»",
"%s: Normal shutdown\n",
"%s: Got signal %d. ̾̂!\n",
"%s: Shutdown ´°Î»\n",
diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt
index b706069b495..1ad5432f4db 100644
--- a/sql/share/korean/errmsg.txt
+++ b/sql/share/korean/errmsg.txt
@@ -77,7 +77,7 @@
"BLOB Ä®·³ '%-.64s'´Â Å° Á¤ÀÇ¿¡¼­ »ç¿ëµÉ ¼ö ¾ø½À´Ï´Ù.",
"Ä®·³ '%-.64s'ÀÇ Ä®·³ ±æÀÌ°¡ ³Ê¹« ±é´Ï´Ù (ÃÖ´ë = %d). ´ë½Å¿¡ BLOB¸¦ »ç¿ëÇϼ¼¿ä.",
"ºÎÁ¤È®ÇÑ Å×À̺í Á¤ÀÇ; Å×À̺íÀº ÇϳªÀÇ auto Ä®·³ÀÌ Á¸ÀçÇÏ°í Å°·Î Á¤ÀǵǾîÁ®¾ß ÇÕ´Ï´Ù.",
-"%s: ¿¬°á ÁغñÁßÀÔ´Ï´Ù.\n",
+"%s: ¿¬°á ÁغñÁßÀÔ´Ï´Ù",
"%s: Á¤»óÀûÀÎ shutdown\n",
"%s: %d ½ÅÈ£°¡ µé¾î¿ÔÀ½. ÁßÁö!\n",
"%s: Shutdown ÀÌ ¿Ï·áµÊ!\n",
diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt
index 2c1deead312..234a53b53fb 100644
--- a/sql/share/norwegian-ny/errmsg.txt
+++ b/sql/share/norwegian-ny/errmsg.txt
@@ -79,7 +79,7 @@
"Blob kolonne '%-.64s' kan ikkje brukast ved spesifikasjon av nyklar",
"For stor nykkellengde for felt '%-.64s' (maks = %d). Bruk BLOB istadenfor",
"Bare eitt auto felt kan være definert som nøkkel.",
-"%s: klar for tilkoblingar\n",
+"%s: klar for tilkoblingar",
"%s: Normal nedkopling\n",
"%s: Oppdaga signal %d. Avsluttar!\n",
"%s: Nedkopling komplett\n",
diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt
index 42b35c18cfc..e582786dc6e 100644
--- a/sql/share/norwegian/errmsg.txt
+++ b/sql/share/norwegian/errmsg.txt
@@ -79,7 +79,7 @@
"Blob felt '%-.64s' kan ikke brukes ved spesifikasjon av nøkler",
"For stor nøkkellengde for kolonne '%-.64s' (maks = %d). Bruk BLOB istedenfor",
"Bare ett auto felt kan være definert som nøkkel.",
-"%s: klar for tilkoblinger\n",
+"%s: klar for tilkoblinger",
"%s: Normal avslutning\n",
"%s: Oppdaget signal %d. Avslutter!\n",
"%s: Avslutning komplett\n",
diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt
index d8e84b08a9a..a4d11046ea4 100644
--- a/sql/share/polish/errmsg.txt
+++ b/sql/share/polish/errmsg.txt
@@ -81,7 +81,7 @@
"Kolumna typu Blob '%-.64s' nie mo¿e byæ u¿yta w specyfikacji klucza",
"Zbyt du¿a d³ugo?æ kolumny '%-.64s' (maks. = %d). W zamian u¿yj typu BLOB",
"W tabeli mo¿e byæ tylko jedno pole auto i musi ono byæ zdefiniowane jako klucz",
-"%s: gotowe do po³?czenia\n",
+"%s: gotowe do po³?czenia",
"%s: Standardowe zakoñczenie dzia³ania\n",
"%s: Otrzymano sygna³ %d. Koñczenie dzia³ania!\n",
"%s: Zakoñczenie dzia³ania wykonane\n",
diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt
index a1b5e87a52d..14c14270dc0 100644
--- a/sql/share/portuguese/errmsg.txt
+++ b/sql/share/portuguese/errmsg.txt
@@ -77,7 +77,7 @@
"Coluna BLOB '%-.64s' não pode ser utilizada na especificação de chave para o tipo de tabela usado",
"Comprimento da coluna '%-.64s' grande demais (max = %d). Use BLOB em seu lugar",
"Definição incorreta de tabela. Somente é permitido um único campo auto-incrementado e ele tem que ser definido como chave",
-"%s: Pronto para conexões\n",
+"%s: Pronto para conexões",
"%s: 'Shutdown' normal\n",
"%s: Obteve sinal %d. Abortando!\n",
"%s: 'Shutdown' completo\n",
diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt
index 44e8b9fa8de..8d2decdf23f 100644
--- a/sql/share/romanian/errmsg.txt
+++ b/sql/share/romanian/errmsg.txt
@@ -81,7 +81,7 @@
"Coloana de tip BLOB '%-.64s' nu poate fi folosita in specificarea cheii cu tipul de tabla folosit",
"Lungimea coloanei '%-.64s' este prea lunga (maximum = %d). Foloseste BLOB mai bine",
"Definitia tabelei este incorecta; Nu pot fi mai mult de o singura coloana de tip auto si aceasta trebuie definita ca cheie",
-"%s: sint gata pentru conectii\n",
+"%s: sint gata pentru conectii",
"%s: Terminare normala\n",
"%s: Semnal %d obtinut. Aborting!\n",
"%s: Terminare completa\n",
diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt
index 472031c6300..42845b57d76 100644
--- a/sql/share/russian/errmsg.txt
+++ b/sql/share/russian/errmsg.txt
@@ -79,7 +79,7 @@
"óÔÏÌÂÅà ÔÉÐÁ BLOB '%-.64s' ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ËÁË ÚÎÁÞÅÎÉÅ ËÌÀÞÁ × ÔÁÂÌÉÃÅ ÔÁËÏÇÏ ÔÉÐÁ",
"óÌÉÛËÏÍ ÂÏÌØÛÁÑ ÄÌÉÎÁ ÓÔÏÌÂÃÁ '%-.64s' (ÍÁËÓÉÍÕÍ = %d). éÓÐÏÌØÚÕÊÔÅ ÔÉÐ BLOB ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ",
"îÅËÏÒÒÅËÔÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÔÁÂÌÉÃÙ: ÍÏÖÅÔ ÓÕÝÅÓÔ×Ï×ÁÔØ ÔÏÌØËÏ ÏÄÉÎ Á×ÔÏÉÎËÒÅÍÅÎÔÎÙÊ ÓÔÏÌÂÅÃ, É ÏÎ ÄÏÌÖÅÎ ÂÙÔØ ÏÐÒÅÄÅÌÅÎ ËÁË ËÌÀÞ",
-"%s: çÏÔÏ× ÐÒÉÎÉÍÁÔØ ÓÏÅÄÉÎÅÎÉÑ.\n÷ÅÒÓÉÑ: '%s' ÓÏËÅÔ: '%s' ÐÏÒÔ: %d\n",
+"%s: çÏÔÏ× ÐÒÉÎÉÍÁÔØ ÓÏÅÄÉÎÅÎÉÑ.\n÷ÅÒÓÉÑ: '%s' ÓÏËÅÔ: '%s' ÐÏÒÔ: %d",
"%s: ëÏÒÒÅËÔÎÁÑ ÏÓÔÁÎÏ×ËÁ\n",
"%s: ðÏÌÕÞÅÎ ÓÉÇÎÁÌ %d. ðÒÅËÒÁÝÁÅÍ!\n",
"%s: ïÓÔÁÎÏ×ËÁ ÚÁ×ÅÒÛÅÎÁ\n",
diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt
index 411f93b97da..52ed69a238d 100644
--- a/sql/share/slovak/errmsg.txt
+++ b/sql/share/slovak/errmsg.txt
@@ -85,7 +85,7 @@
"Blob pole '%-.64s' nemô¾e by» pou¾ité ako kµúè",
"Príli¹ veµká då¾ka pre pole '%-.64s' (maximum = %d). Pou¾ite BLOB",
"Mô¾ete ma» iba jedno AUTO pole a to musí by» definované ako kµúè",
-"%s: pripravený na spojenie\n",
+"%s: pripravený na spojenie",
"%s: normálne ukonèenie\n",
"%s: prijatý signál %d, ukonèenie (Abort)!\n",
"%s: práca ukonèená\n",
diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt
index 0010769aa4f..2ed3c19b68e 100644
--- a/sql/share/spanish/errmsg.txt
+++ b/sql/share/spanish/errmsg.txt
@@ -78,7 +78,7 @@
"La columna Blob '%-.64s' no puede ser usada en una declaracion de clave",
"Longitud de columna demasiado grande para la columna '%-.64s' (maximo = %d).Usar BLOB en su lugar",
"Puede ser solamente un campo automatico y este debe ser definido como una clave",
-"%s: preparado para conexiones\n",
+"%s: preparado para conexiones",
"%s: Apagado normal\n",
"%s: Recibiendo signal %d. Abortando!\n",
"%s: Apagado completado\n",
diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt
index 508737dde2f..4fd05875b43 100644
--- a/sql/share/swedish/errmsg.txt
+++ b/sql/share/swedish/errmsg.txt
@@ -77,7 +77,7 @@
"En BLOB '%-.64s' kan inte vara nyckel med den använda tabelltypen",
"För stor kolumnlängd angiven för '%-.64s' (max= %d). Använd en BLOB instället",
"Det får finnas endast ett AUTO_INCREMENT-fält och detta måste vara en nyckel",
-"%s: klar att ta emot klienter\n",
+"%s: klar att ta emot klienter",
"%s: Normal avslutning\n",
"%s: Fick signal %d. Avslutar!\n",
"%s: Avslutning klar\n",
diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt
index 372cfa78dff..6036f4be2d5 100644
--- a/sql/share/ukrainian/errmsg.txt
+++ b/sql/share/ukrainian/errmsg.txt
@@ -82,7 +82,7 @@
"BLOB ÓÔÏ×ÂÅÃØ '%-.64s' ÎÅ ÍÏÖÅ ÂÕÔÉ ×ÉËÏÒÉÓÔÁÎÉÊ Õ ×ÉÚÎÁÞÅÎΦ ËÌÀÞÁ × ÃØÏÍÕ ÔÉЦ ÔÁÂÌÉæ",
"úÁÄÏ×ÇÁ ÄÏ×ÖÉÎÁ ÓÔÏ×ÂÃÑ '%-.64s' (max = %d). ÷ÉËÏÒÉÓÔÁÊÔÅ ÔÉÐ BLOB",
"îÅצÒÎÅ ×ÉÚÎÁÞÅÎÎÑ ÔÁÂÌÉæ; íÏÖÅ ÂÕÔÉ ÌÉÛÅ ÏÄÉÎ Á×ÔÏÍÁÔÉÞÎÉÊ ÓÔÏ×ÂÅÃØ, ÝÏ ÐÏ×ÉÎÅÎ ÂÕÔÉ ×ÉÚÎÁÞÅÎÉÊ ÑË ËÌÀÞ",
-"%s: çÏÔÏ×ÉÊ ÄÌÑ Ú'¤ÄÎÁÎØ!\n",
+"%s: çÏÔÏ×ÉÊ ÄÌÑ Ú'¤ÄÎÁÎØ!",
"%s: îÏÒÍÁÌØÎÅ ÚÁ×ÅÒÛÅÎÎÑ\n",
"%s: ïÔÒÉÍÁÎÏ ÓÉÇÎÁÌ %d. ðÅÒÅÒÉ×ÁÀÓØ!\n",
"%s: òÏÂÏÔÕ ÚÁ×ÅÒÛÅÎÏ\n",
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 1f0af05a460..39c1a78b081 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -3231,8 +3231,12 @@ bool add_field_to_list(char *field_name, enum_field_types type,
case FIELD_TYPE_TIMESTAMP:
if (!length)
new_field->length= 14; // Full date YYYYMMDDHHMMSS
- else
+ else if (new_field->length != 19)
{
+ /*
+ We support only even TIMESTAMP lengths less or equal than 14
+ and 19 as length of 4.1 compatible representation.
+ */
new_field->length=((new_field->length+1)/2)*2; /* purecov: inspected */
new_field->length= min(new_field->length,14); /* purecov: inspected */
}
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 096b73c482f..7b688041acc 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -4533,6 +4533,20 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
new_table.no_rows=1;
}
+#ifdef TO_BE_DONE_LATER_IN_4_1
+ /*
+ To use start_bulk_insert() (which is new in 4.1) we need to find
+ all places where a corresponding end_bulk_insert() should be put.
+ */
+ table->file->info(HA_STATUS_VARIABLE); /* update table->file->records */
+ new_table.file->start_bulk_insert(table->file->records);
+#else
+ /*
+ HA_EXTRA_WRITE_CACHE can stay until close, no need to disable it explicitly.
+ */
+ new_table.file->extra(HA_EXTRA_WRITE_CACHE);
+#endif
+
/* copy all old rows */
while (!table->file->rnd_next(new_table.record[1]))
{