Commit eef79492 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0

parents 6e247490 2c1f3b7a
Loading
Loading
Loading
Loading
+40 −31
Original line number Diff line number Diff line
@@ -28438,6 +28438,12 @@ will be unsigned! @xref{Cast Functions}.
A very small integer. The signed range is @code{-128} to @code{127}. The
unsigned range is @code{0} to @code{255}.
@tindex BOOL
@tindex BIT
@item BIT
@itemx BOOL
These are synonyms for @code{TINYINT(1)}.
@tindex SMALLINT
@item SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
@@ -28505,14 +28511,14 @@ integers) you may get unexpected results when the result is larger than
@cindex floating-point number
@tindex FLOAT
@tindex FLOAT(precision)
@item FLOAT(precision) [ZEROFILL]
@item FLOAT(precision) [UNSIGNED] [ZEROFILL]
A floating-point number. Cannot be unsigned.  @code{precision} can be
A floating-point number.  @code{precision} can be
@code{<=24} for a single-precision floating-point number and between 25
and 53 for a double-precision floating-point number. These types are like
the @code{FLOAT} and @code{DOUBLE} types described immediately below.
@code{FLOAT(X)} has the same range as the corresponding @code{FLOAT} and
@code{DOUBLE} types, but the display size and number of decimals is undefined.
@code{DOUBLE} types, but the display size and number of decimals are undefined.
In MySQL Version 3.23, this is a true floating-point value.  In
earlier MySQL versions, @code{FLOAT(precision)} always has 2 decimals.
@@ -28527,38 +28533,40 @@ This syntax is provided for ODBC compatibility.
@tindex FLOAT
@tindex FLOAT(M,D)
@item FLOAT[(M,D)] [ZEROFILL]
@item FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
A small (single-precision) floating-point number. Cannot be unsigned.
Allowable values are @code{@w{-3.402823466E+38}} to
@code{@w{-1.175494351E-38}}, @code{0}, and @code{@w{1.175494351E-38}} to
@code{3.402823466E+38}.  The @code{M} is the display width and @code{D} is the
number of decimals.  @code{FLOAT} without arguments or @code{FLOAT(X)} where
@code{X} <= 24 stands for a single-precision floating-point number.
A small (single-precision) floating-point number.  Allowable values are
@code{@w{-3.402823466E+38}} to @code{@w{-1.175494351E-38}}, @code{0},
and @code{@w{1.175494351E-38}} to @code{3.402823466E+38}.  If
@code{UNSIGNED} is specified, negative values are disallowed.  The @code{M}
is the display width and @code{D} is the number of decimals.  @code{FLOAT}
without arguments or @code{FLOAT(X)} where @code{X} <= 24 stands for a
single-precision floating-point number.
@tindex DOUBLE
@tindex FLOAT(precision)
@item DOUBLE[(M,D)] [ZEROFILL]
@item DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
A normal-size (double-precision) floating-point number. Cannot be
unsigned. Allowable values are @code{@w{-1.7976931348623157E+308}} to
A normal-size (double-precision) floating-point number.
Allowable values are @code{@w{-1.7976931348623157E+308}} to
@code{@w{-2.2250738585072014E-308}}, @code{0}, and
@code{2.2250738585072014E-308} to @code{1.7976931348623157E+308}.  The
@code{2.2250738585072014E-308} to @code{1.7976931348623157E+308}.  If
@code{UNSIGNED} is specified, negative values are disallowed.  The
@code{M} is the display width and @code{D} is the number of decimals.
@code{DOUBLE} without arguments or @code{FLOAT(X)} where 25 <= @code{X}
<= 53 stands for a double-precision floating-point number.
@tindex DOUBLE PRECISION
@tindex REAL
@item DOUBLE PRECISION[(M,D)] [ZEROFILL]
@itemx REAL[(M,D)] [ZEROFILL]
@item DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL]
@itemx REAL[(M,D)] [UNSIGNED] [ZEROFILL]
These are synonyms for @code{DOUBLE}.
@tindex DECIMAL
@item DECIMAL[(M[,D])] [ZEROFILL]
@item DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
An unpacked floating-point number.  Cannot be unsigned.  Behaves like a
An unpacked floating-point number.  Behaves like a
@code{CHAR} column: ``unpacked'' means the number is stored as a string,
using one character for each digit of the value.  The decimal point and,
for negative numbers, the @samp{-} sign, are not counted in @code{M} (but
@@ -28566,7 +28574,7 @@ space for these is reserved). If @code{D} is 0, values will have no decimal
point or fractional part.  The maximum range of @code{DECIMAL} values is
the same as for @code{DOUBLE}, but the actual range for a given
@code{DECIMAL} column may be constrained by the choice of @code{M} and
@code{D}.
@code{D}.  If @code{UNSIGNED} is specified, negative values are disallowed.  
If @code{D} is omitted, the default is 0.  If @code{M} is omitted, the
default is 10.
@@ -28576,8 +28584,8 @@ needed for the sign and the decimal point.
@tindex DEC
@tindex NUMERIC
@item DEC[(M[,D])] [ZEROFILL]
@itemx NUMERIC[(M[,D])] [ZEROFILL]
@item DEC[(M[,D])] [UNSIGNED] [ZEROFILL]
@itemx NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]
These are synonyms for @code{DECIMAL}.
@@ -28667,12 +28675,8 @@ column that only can take 2 values: A @code{CHAR(0)}, that is not defined
as @code{NOT NULL}, will occupy only one bit and can take only 2 values:
@code{NULL} or @code{""}. @xref{CHAR, , @code{CHAR}}.
@tindex BOOL
@tindex BIT
@item BIT
@itemx BOOL
@itemx CHAR
These three are synonyms for @code{CHAR(1)}.
@item CHAR
This is a synonym for @code{CHAR(1)}.
@tindex CHARACTER VARYING
@tindex CHAR VARYING
@@ -28809,10 +28813,10 @@ MySQL stores the value representing the corresponding end
point of that range.
As an extension to the ANSI/ISO SQL92 standard, MySQL also
supports the integral types @code{TINYINT}, @code{MEDIUMINT}, and
supports the integer types @code{TINYINT}, @code{MEDIUMINT}, and
@code{BIGINT} as listed in the tables above.  Another extension is
supported by MySQL for optionally specifying the display width
of an integral value in parentheses following the base keyword for the
of an integer value in parentheses following the base keyword for the
type (for example, @code{INT(4)}).  This optional width specification is
used to left-pad the display of values whose width is less than the
width specified for the column, but does not constrain the range of
@@ -28827,11 +28831,16 @@ problems when MySQL generates temporary tables for some
complicated joins, as in these cases MySQL trusts that the
data did fit into the original column width.
All integral types can have an optional (non-standard) attribute
All integer types can have an optional (non-standard) attribute
@code{UNSIGNED}.  Unsigned values can be used when you want to allow
only positive numbers in a column and you need a little bigger numeric
range for the column.
As of MySQL 4.0.2, floating-point types also can be @code{UNSIGNED}.
As with integer types, this attribute prevents negative values from
being stored in the column.  Unlike the integer types, the upper range
of column values remains the same.
The @code{FLOAT} type is used to represent approximate numeric data
types. The ANSI/ISO SQL92 standard allows an optional specification of
the precision (but not the range of the exponent) in bits following the
@@ -54046,7 +54055,7 @@ ODBC or ANSI SQL92 syntax.
Fixed syntax of @code{ALTER TABLE tbl_name ALTER COLUMN col_name SET DEFAULT
NULL}.
@item
Added @code{CHAR} and @code{BIT} as synonyms for @code{CHAR(1)}.
Added @code{CHAR} (with no length specifier) as a synonym for @code{CHAR(1)}.
@item
Fixed core dump when updating as a user who has only @strong{select} privilege.
@item
+1 −1
Original line number Diff line number Diff line
@@ -306,8 +306,8 @@ int _nisam_writeinfo(register N_INFO *info, uint flags)
		    MYF(MY_WME | MY_SEEK_NOT_DONE)) && !error)
	  DBUG_RETURN(1);
      }
    }
#endif
    }
    my_errno=olderror;
  }
  else if (flags)
+8 −8
Original line number Diff line number Diff line
@@ -7,22 +7,22 @@ show master status;
File	Position	Binlog_do_db	Binlog_ignore_db
master-bin.001	79		
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	1	master-bin.001	79	slave-relay-bin.002	120	master-bin.001	Yes	Yes			0		0	79
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	1	master-bin.001	79	slave-relay-bin.002	120	master-bin.001	Yes	Yes			0		0	79	124
change master to master_log_pos=73;
slave stop;
change master to master_log_pos=73;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	1	master-bin.001	73	slave-relay-bin.001	4	master-bin.001	No	No			0		0	73
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	1	master-bin.001	73	slave-relay-bin.001	4	master-bin.001	No	No			0		0	73	4
slave start;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	1	master-bin.001	73	slave-relay-bin.001	4	master-bin.001	Yes	Yes			0		0	73
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	1	master-bin.001	73	slave-relay-bin.001	4	master-bin.001	Yes	Yes			0		0	73	4
change master to master_log_pos=173;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	1	master-bin.001	173	slave-relay-bin.001	4	master-bin.001	Yes	Yes			0		0	173
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	1	master-bin.001	173	slave-relay-bin.001	4	master-bin.001	Yes	Yes			0		0	173	4
show master status;
File	Position	Binlog_do_db	Binlog_ignore_db
master-bin.001	79		
+8 −8
Original line number Diff line number Diff line
@@ -4,21 +4,21 @@ File Position Binlog_do_db Binlog_ignore_db
master-bin.001	79		
reset slave;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
		0	0		0		0		No	No			0		0	0
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
		0	0		0		0		No	No			0		0	0	0
change master to master_host='127.0.0.1';
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	test	MASTER_PORT	7		4	slave-relay-bin.001	4		No	No			0		0	0
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	test	MASTER_PORT	7		4	slave-relay-bin.001	4		No	No			0		0	0	4
change master to master_host='127.0.0.1',master_user='root',
master_password='',master_port=MASTER_PORT;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	7		4	slave-relay-bin.001	4		No	No			0		0	0
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	7		4	slave-relay-bin.001	4		No	No			0		0	0	4
slave start;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	7	master-bin.001	79	slave-relay-bin.001	120	master-bin.001	Yes	Yes			0		0	79
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	7	master-bin.001	79	slave-relay-bin.001	120	master-bin.001	Yes	Yes			0		0	79	120
drop table if exists t1;
create table t1 (n int);
insert into t1 values (10),(45),(90);
+6 −6
Original line number Diff line number Diff line
@@ -14,8 +14,8 @@ drop table if exists t1;
create table t1 (s text);
insert into t1 values('Could not break slave'),('Tried hard');
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	60	master-bin.001	234	slave-relay-bin.001	275	master-bin.001	Yes	Yes			0		0	234
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	60	master-bin.001	234	slave-relay-bin.001	275	master-bin.001	Yes	Yes			0		0	234	275
select * from t1;
s
Could not break slave
@@ -41,8 +41,8 @@ Log_name
master-bin.003
insert into t2 values (65);
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	60	master-bin.003	155	slave-relay-bin.001	755	master-bin.003	Yes	Yes			0		0	155
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	60	master-bin.003	155	slave-relay-bin.001	755	master-bin.003	Yes	Yes			0		0	155	755
select * from t2;
m
34
@@ -64,8 +64,8 @@ master-bin.006 445
slave stop;
slave start;
show slave status;
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos
127.0.0.1	root	MASTER_PORT	60	master-bin.006	445	slave-relay-bin.004	1229	master-bin.006	Yes	Yes			0		0	445
Master_Host	Master_User	Master_Port	Connect_retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_do_db	Replicate_ignore_db	Last_errno	Last_error	Skip_counter	Exec_master_log_pos	Relay_log_space
127.0.0.1	root	MASTER_PORT	60	master-bin.006	445	slave-relay-bin.004	1229	master-bin.006	Yes	Yes			0		0	445	1229
lock tables t3 read;
select count(*) from t3 where n >= 4;
count(*)
Loading