Commit 84ce207b authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-5.0

into serg.mylan:/usr/home/serg/Abk/mysql-5.0

parents 3d7535f0 596915dd
...@@ -6,13 +6,19 @@ ...@@ -6,13 +6,19 @@
# Usage: # Usage:
# Add the following to any *.test file: # Add the following to any *.test file:
# : # :
# set @message="This is a message example"; # let $message= <value>;
# --source include/show_msg.inc # --source include/show_msg.inc
# : # :
# #
# Attention:
# - Please do not write any spaces between $message and the "=", because the
# assignment will not work.
# - Be careful with single quotes. They must be escaped like "''" or "\'".
#
# "include/show_msg80.inc" contains a detailed description and examples.
--disable_query_log --disable_query_log
SET @utf8_message = CONVERT(@message using utf8); eval SET @utf8_message = CONVERT('$message' using utf8);
select @utf8_message as "" select @utf8_message as ""
union union
select repeat(CONVERT('-' using utf8),char_length(@utf8_message)); select repeat(CONVERT('-' using utf8),char_length(@utf8_message));
......
#### include/show_msg80.inc #### include/show_msg80.inc
# #
# This file writes the value set in @message into the # This file writes the value set in @message into the a protocol file as part
# a protocol file as part of executing a test sequence # of executing a test sequence with a dash line that is fixed on 80 characters.
# with a dash line that is fixed on 80 characters. #
# This can be used in the case of long messages, # This can be used in the case of long messages, multi line messages that
# multi line messages that exceed 80 or if an 80 char # exceed 80 or if an 80 char line is desired for short messages.
# line is desired for short messages.
# #
# Usage: # Usage:
# Add the following to any *.test file: # Add the following to any *.test file:
# : # :
# set @message="This is a message example"; # let $message= <value>;
# --source include/show_msg80.inc # --source include/show_msg80.inc
# : # :
# #
# Attention:
# - Please do not write any spaces between $message and the "=", because the
# assignment will not work.
# - Be careful with single quotes within the value. They must be escaped like
# "''" or "\'".
# - Do not keep the value between single quotes.
#
#
# Content of "$message" and protocol output depending on the assignment:
# ----------------------------------------------------------------------
#
# I is assumed, that the value is not kept between double quotes.
#
# <x> first character after "$message=",
# where the content is not (space or tab)
# <y*> first character after beginning of the line,
# where the content is not (space or tab)
# <z> last char before ";"
# | beginning or end of line
#
# script: let $message= <x><whatever0>|
# | <y1><whatever1>|
# |................|
# | <yn><whatevern><z>;
# content: "<x><whatever0><new line><y1><whatever1><new line>
# ....<new line><yn><whatevern><z>"
# protocol output: |<x><whatever0>|
# |<y1><whatever1>|
# |.....|
# |<yn><whatevern><z>|
# |--- 80 dashes ---|
#
# Attention:
# <x> and <y*> set to characters like "-$#" which are also used
# to start comments, options and the names of mysqltest variables
# lead to syntax errors or mangled messages.
#
#
# Examples of messages:
# ---------------------
#
# Variant1 (ease of use):
# Several lines with indentation kept between double quotes
# script: |let $message=
# |" Testcase 3.1 : Ensure that Pi is not an|
# | integer number.|
# | Third line";
# protocol: |" Testcase 3.1 : Ensure that Pi is not an|
# | integer number.|
# | Third line"|
# |------ 80 dashes ----|
#
# Please mention that
# - the '"' preserves the indentation.
# - it is easy to write the script lines to get a fine indentation,
# if the value starts at the beginning of a new line
# - the '"' is printed
# - there are the least or no problems with characters like "-#$"
#
#
# Variant 2 (grep the messages from the protocol is easy):
# Several lines with indentation + auxiliary character (".")
# at the (non tab or space) beginning of every message line
# script: |let $message= . Testcase 3.1 : Ensure that Pi is not an|
# | . integer number.|
# | . Third line;
# protocol: |. Testcase 3.1 : Ensure that Pi is not an|
# |. integer number.|
# |. Third line|
# |------ 80 dashes ----|
# Please mention that
# - the auxiliary character preserves the indentation.
# - it is easy to write the script lines to get a fine indentation
# - the auxiliary character is printed
# - it is recommended to use "." as auxiliary character
# - auxiliary characters like "-'$#" cause problems
#
#
#
# Bad variant1: Several lines with lost indentation
# script: |let $message= Here is message line 1
# | message line 2;
# protocol: |Here is message line 1|
# |message line 2|
# |------ 80 dashes ----|
# Please mention, that the leading spaces of the message lines disappeared.
#
# Bad variant2: Several lines leading to a syntax error, because of "-"
# script: |let $message= - This is a message
# | - with a second and
# | - third line;
# protocol: | - third line;;
# |ERROR 42000: You have an error ... near '- third line'
# + several following errors
#
#
--disable_query_log --disable_query_log
SET @utf8_message = CONVERT(@message using utf8); eval SET @utf8_message = CONVERT('$message' using utf8);
select @utf8_message as "" select @utf8_message as ""
union union
select repeat(CONVERT('-' using utf8),80); select repeat(CONVERT('-' using utf8),80);
......
...@@ -148,17 +148,19 @@ a'b a"b ...@@ -148,17 +148,19 @@ a'b a"b
select 'aaa\\','aa''a',"aa""a"; select 'aaa\\','aa''a',"aa""a";
aaa\ aa'a aa"a aaa\ aa'a aa"a
aaa\ aa'a aa"a aaa\ aa'a aa"a
SET @message = 'Here comes a message';
Here comes a message Here comes a message
-------------------- --------------------
SET @message = USER();
root@localhost root@localhost
-------------- --------------
SET @message = 'Here comes a very very long message that is longer then 80 characters
on multiple lines';
Here comes a very very long message that is longer then 80 characters "Here comes a very very long message that
on multiple lines - is longer then 80 characters and
- consists of several lines"
--------------------------------------------------------------------------------
. Here comes a very very long message that
. - is longer then 80 characters and
. - consists of several lines
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
...@@ -61,8 +61,9 @@ INSERT INTO t1 VALUES (3359361,406,3359361,'Mustermann Musterfrau',7001,'2000-05 ...@@ -61,8 +61,9 @@ INSERT INTO t1 VALUES (3359361,406,3359361,'Mustermann Musterfrau',7001,'2000-05
INSERT INTO t1 VALUES (3359362,406,3359362,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','',''); INSERT INTO t1 VALUES (3359362,406,3359362,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
# This died because we used the field Kundentyp twice # This died because we used the field Kundentyp twice
--disable_ps_protocol
SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie; SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie;
--enable_ps_protocol
drop table t1; drop table t1;
......
...@@ -550,10 +550,11 @@ insert into t1 values ('aaa', 'bb1'), ('aaa', 'bb2'); ...@@ -550,10 +550,11 @@ insert into t1 values ('aaa', 'bb1'), ('aaa', 'bb2');
insert into t2 values ('aaa', 'bb1'), ('aaa', 'bb2'); insert into t2 values ('aaa', 'bb1'), ('aaa', 'bb2');
# query with ambiguous column reference 'c2' # query with ambiguous column reference 'c2'
--disable_ps_protocol
select t1.c1 as c2 from t1, t2 where t1.c2 = t2.c4 select t1.c1 as c2 from t1, t2 where t1.c2 = t2.c4
group by c2; group by c2;
show warnings; show warnings;
--enable_ps_protocol
# this query has no ambiguity # this query has no ambiguity
select t1.c1 as c2 from t1, t2 where t1.c2 = t2.c4 select t1.c1 as c2 from t1, t2 where t1.c2 = t2.c4
......
...@@ -299,19 +299,29 @@ select 'aaa\\','aa''a',"aa""a"; ...@@ -299,19 +299,29 @@ select 'aaa\\','aa''a',"aa""a";
# #
# Check of include/show_msg.inc # Check of include/show_msg.inc and include/show_msg80.inc
# #
# The message contains in most cases a string with the default character set # The message contains in most cases a string with the default character set
SET @message = 'Here comes a message'; let $message= Here comes a message;
--source include/show_msg.inc --source include/show_msg.inc
# The message could also contain a string with character set utf8 # The message could also contain a string with character set utf8
SET @message = USER(); let $message= `SELECT USER()`;
--source include/show_msg.inc --source include/show_msg.inc
# The message contains more then 80 characters on multiple lines # The message contains more then 80 characters on multiple lines
SET @message = 'Here comes a very very long message that is longer then 80 characters # and is kept between double quotes.
on multiple lines'; let $message=
"Here comes a very very long message that
- is longer then 80 characters and
- consists of several lines";
--source include/show_msg80.inc
# The message contains more then 80 characters on multiple lines
# and uses the auxiliary character "." at the beginning of the message lines.
let $message= . Here comes a very very long message that
. - is longer then 80 characters and
. - consists of several lines;
--source include/show_msg80.inc --source include/show_msg80.inc
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment