mirror of
https://github.com/MariaDB/server.git
synced 2025-05-29 21:42:28 +03:00
Merge mysql.com:/home/cps/mysql/trees/mysql-4.1
into mysql.com:/home/cps/mysql/trees/mysql-5.0-virgin sql/examples/ha_tina.cc: Auto merged support-files/mysql.spec.sh: SCCS merged
This commit is contained in:
commit
ce648a30db
@ -4929,3 +4929,50 @@ Warnings:
|
|||||||
Note 1051 Unknown table 't2'
|
Note 1051 Unknown table 't2'
|
||||||
Note 1051 Unknown table 't3'
|
Note 1051 Unknown table 't3'
|
||||||
Note 1051 Unknown table 't4'
|
Note 1051 Unknown table 't4'
|
||||||
|
DROP TABLE IF EXISTS bug13894;
|
||||||
|
CREATE TABLE bug13894 ( val integer ) ENGINE = CSV;
|
||||||
|
INSERT INTO bug13894 VALUES (5);
|
||||||
|
INSERT INTO bug13894 VALUES (10);
|
||||||
|
INSERT INTO bug13894 VALUES (11);
|
||||||
|
INSERT INTO bug13894 VALUES (10);
|
||||||
|
SELECT * FROM bug13894;
|
||||||
|
val
|
||||||
|
5
|
||||||
|
10
|
||||||
|
11
|
||||||
|
10
|
||||||
|
UPDATE bug13894 SET val=6 WHERE val=10;
|
||||||
|
SELECT * FROM bug13894;
|
||||||
|
val
|
||||||
|
5
|
||||||
|
11
|
||||||
|
6
|
||||||
|
6
|
||||||
|
DROP TABLE bug13894;
|
||||||
|
DROP TABLE IF EXISTS bug14672;
|
||||||
|
CREATE TABLE bug14672 (c1 integer) engine = CSV;
|
||||||
|
INSERT INTO bug14672 VALUES (1), (2), (3);
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
DELETE FROM bug14672 WHERE c1 = 2;
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
3
|
||||||
|
INSERT INTO bug14672 VALUES (4);
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
3
|
||||||
|
4
|
||||||
|
INSERT INTO bug14672 VALUES (5);
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
DROP TABLE bug14672;
|
||||||
|
@ -1314,4 +1314,41 @@ select period from t1;
|
|||||||
|
|
||||||
drop table if exists t1,t2,t3,t4;
|
drop table if exists t1,t2,t3,t4;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #13894 Server crashes on update of CSV table
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS bug13894;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE TABLE bug13894 ( val integer ) ENGINE = CSV;
|
||||||
|
INSERT INTO bug13894 VALUES (5);
|
||||||
|
INSERT INTO bug13894 VALUES (10);
|
||||||
|
INSERT INTO bug13894 VALUES (11);
|
||||||
|
INSERT INTO bug13894 VALUES (10);
|
||||||
|
SELECT * FROM bug13894;
|
||||||
|
UPDATE bug13894 SET val=6 WHERE val=10;
|
||||||
|
SELECT * FROM bug13894;
|
||||||
|
DROP TABLE bug13894;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #14672 Bug in deletion
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS bug14672;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE TABLE bug14672 (c1 integer) engine = CSV;
|
||||||
|
INSERT INTO bug14672 VALUES (1), (2), (3);
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
DELETE FROM bug14672 WHERE c1 = 2;
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
INSERT INTO bug14672 VALUES (4);
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
INSERT INTO bug14672 VALUES (5);
|
||||||
|
SELECT * FROM bug14672;
|
||||||
|
DROP TABLE bug14672;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -82,12 +82,16 @@ handlerton tina_hton= {
|
|||||||
** TINA tables
|
** TINA tables
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Used for sorting chains.
|
Used for sorting chains with qsort().
|
||||||
*/
|
*/
|
||||||
int sort_set (tina_set *a, tina_set *b)
|
int sort_set (tina_set *a, tina_set *b)
|
||||||
{
|
{
|
||||||
return ( a->begin > b->begin ? 1 : ( a->begin < b->begin ? -1 : 0 ) );
|
/*
|
||||||
|
We assume that intervals do not intersect. So, it is enought to compare
|
||||||
|
any two points. Here we take start of intervals for comparison.
|
||||||
|
*/
|
||||||
|
return ( a->begin > b->begin ? -1 : ( a->begin < b->begin ? 1 : 0 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
static byte* tina_get_key(TINA_SHARE *share,uint *length,
|
static byte* tina_get_key(TINA_SHARE *share,uint *length,
|
||||||
@ -186,7 +190,8 @@ static TINA_SHARE *get_share(const char *table_name, TABLE *table)
|
|||||||
thr_lock_init(&share->lock);
|
thr_lock_init(&share->lock);
|
||||||
pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST);
|
pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST);
|
||||||
|
|
||||||
if ((share->data_file= my_open(data_file_name, O_RDWR, MYF(0))) == -1)
|
if ((share->data_file= my_open(data_file_name, O_RDWR|O_APPEND,
|
||||||
|
MYF(0))) == -1)
|
||||||
goto error2;
|
goto error2;
|
||||||
|
|
||||||
/* We only use share->data_file for writing, so we scan to the end to append */
|
/* We only use share->data_file for writing, so we scan to the end to append */
|
||||||
@ -797,13 +802,8 @@ int ha_tina::rnd_end()
|
|||||||
qsort(chain, (size_t)(chain_ptr - chain), sizeof(tina_set), (qsort_cmp)sort_set);
|
qsort(chain, (size_t)(chain_ptr - chain), sizeof(tina_set), (qsort_cmp)sort_set);
|
||||||
for (ptr= chain; ptr < chain_ptr; ptr++)
|
for (ptr= chain; ptr < chain_ptr; ptr++)
|
||||||
{
|
{
|
||||||
/* We peek a head to see if this is the last chain */
|
memmove(share->mapped_file + ptr->begin, share->mapped_file + ptr->end,
|
||||||
if (ptr+1 == chain_ptr)
|
length - (size_t)ptr->end);
|
||||||
memmove(share->mapped_file + ptr->begin, share->mapped_file + ptr->end,
|
|
||||||
length - (size_t)ptr->end);
|
|
||||||
else
|
|
||||||
memmove((caddr_t)share->mapped_file + ptr->begin, (caddr_t)share->mapped_file + ptr->end,
|
|
||||||
(size_t)((ptr++)->begin - ptr->end));
|
|
||||||
length= length - (size_t)(ptr->end - ptr->begin);
|
length= length - (size_t)(ptr->end - ptr->begin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -259,6 +259,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
|
|||||||
--includedir=%{_includedir} \
|
--includedir=%{_includedir} \
|
||||||
--mandir=%{_mandir} \
|
--mandir=%{_mandir} \
|
||||||
--enable-thread-safe-client \
|
--enable-thread-safe-client \
|
||||||
|
--with-zlib-dir=bundled \
|
||||||
--with-readline ; \
|
--with-readline ; \
|
||||||
# Add this for more debugging support
|
# Add this for more debugging support
|
||||||
# --with-debug
|
# --with-debug
|
||||||
|
Loading…
x
Reference in New Issue
Block a user