Group item fields are implemented as varstrings nowadays.
Made init_connect.test robust against existing t1.
mysql-test/r/init_connect.result:
Made init_connect.test robust against existing t1.
mysql-test/t/init_connect.test:
Made init_connect.test robust against existing t1.
sql/sql_select.cc:
Enlarged group item key_length by a varstring length field.
Group item fields are implemented as varstrings nowadays.
fixes. Still to do:
- deploy my_strtoll10 in limbysql.c
- add mysql_options option to switch MYSQL_DATA_TRUNCATED on and off.
include/my_time.h:
More calls are shared between client and server (libmysql now performs
more intelligent date->number and number->date conversions).
TODO: rename those which are not starting with 'my_'
include/mysql.h:
MYSQL_BIND:
- more elaborated comment
- some of the ex-private members were given public names -
it's sometimes convenient to set bind->error to &bind->error_value.
However Monty questions the idea, so it should be given
more thought in future.
- added new members to support data truncation.
Added new return value of mysql_stmt_fetch, MYSQL_DATA_TRUNCATED.
libmysql/libmysql.c:
- added support for data truncation during fetch
- implementation for is_binary_compatible: now conversion functions
are used less frequently
- we now use number_to_datetime and TIME_to_ulonglong for date->number and
number->date conversions
sql-common/my_time.c:
- added implementation of date->number and number->date calls shared
between client and server (moved from time.cc).
sql/field.cc:
- implemented Field_time::store_time() to better support date->time
conversions in prepared mode. After-review fixes.
sql/field.h:
- Field::store_time now returns int
sql/mysql_priv.h:
- removed date->number and number->date conversion functions headers
(moved to my_time.h)
sql/time.cc:
- removed implementation of date->number and number->date conversion
functions (moved to my_time.c)
tests/client_test.c:
- added a test case for data truncation; other test cases adjusted.
- fixed my_process_stmt_result to set STMT_ATTR_UPDATE_MAX_LENGTH (tables
are now printed out prettier).
BitKeeper/etc/ignore:
added extra/created_include_files
extra/Makefile.am:
Make sure that mysqld_error.h and sql_state.h are not build in the same time.
extra/comp_err.c:
Fixed segfault bug
libmysqld/Makefile.am:
Added path to mysqld_error.h and sql_state.h
libmysqld/examples/Makefile.am:
Added path to mysqld_error.h and sql_state.h
scripts/make_win_src_distribution.sh:
Windows version fix
sql/ha_innodb.cc:
Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061).
It cant be put on commit because ALTER TABLE will commit on every 10000 rows.
Therefore, this change must be done when a new temporary table is created
in the ALTER TABLE.
sql/ha_innodb.cc:
Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061).
If AUTO_INCREMENT is given in the ALTER TABLE, this value is now set
to the auto increment value of the table if the new value is creater or
equal than the current value of the auto increment value. If the new value
is less than the old value no error message is given and the old value
is not changed.
server-tools/instance-manager/buffer.cc:
fix typo
server-tools/instance-manager/commands.cc:
get rid of compiler warnings
server-tools/instance-manager/guardian.cc:
fix compiler warning
server-tools/instance-manager/instance.cc:
fix warnings
server-tools/instance-manager/instance_map.cc:
fix return value
server-tools/instance-manager/instance_map.h:
fix problem, caused autobuild failure. Looks like a gcc problem -
"friend class <name>" doesn't work if specified before enclosed class
<name> (this is not present in newer gcc versions)
Added comments (from code review on pull)
mysql-test/r/heap.result:
Fix results that may change from run to run
mysql-test/r/ps_5merge.result:
Fix wrong result
mysql-test/t/heap.test:
Make results predictable
sql/sql_show.cc:
Add comments
Fixed typo
operations.
innobase/include/lock0lock.h:
Added lock_clust_rec_read_check_and_lock_alt(),
a variant of lock_clust_rec_read_check_and_lock()
without the parameter "offsets".
innobase/lock/lock0lock.c:
Added lock_clust_rec_read_check_and_lock_alt(),
a variant of lock_clust_rec_read_check_and_lock()
without the parameter "offsets".
innobase/row/row0ins.c:
row_ins_foreign_check_on_constraint(): Do not allocate offsets
from stack. This reduces the stack space consumption of
ON UPDATE CASCADE operations by 400 bytes per cascaded UPDATE
operation.
mysqldump skips information_schema db
'use' now can use information_schema db
changed value of column 'Null' to 'NO' if column is not nullable
client/mysqldump.c:
mysqldump skips information_schema db
mysql-test/r/alter_table.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/create.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ctype_collate.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ctype_recoding.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ctype_ujis.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/drop.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/func_sapdb.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/func_time.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/gis.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/information_schema.result:
Added couple of tests
mysql-test/r/information_schema_inno.result:
Removed coulmn 'CONTRAINT_METOD' from TABLE_CONSTRAINTS
Added column 'POSITION_IN_UNIQUE_CONSTRAINT' to KEY_COLUMN_USAGE
mysql-test/r/innodb.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ndb_autodiscover.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/ps_1general.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/rpl000009.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/rpl_create_database.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/schema.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/select.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/show_check.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/sp.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/type_enum.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/r/type_ranges.result:
changed value of column 'Null' to 'NO' if column is not nullable
mysql-test/t/information_schema.test:
Added couple of tests
sql/sql_acl.cc:
Don't display 'usage' privilege in TABLE_PRIVILEGES if we have columns privileges
sql/sql_db.cc:
'use' now can use information_schema db
sql/sql_show.cc:
code cleanup
informaton_schema(IS) db now contains data about IS itself
sql/sql_yacc.yy:
A fix(wrong behavour of 'SHOW COLUMNS, SHOW KEYS' with 'where condition')
All our programs which use mysql_real_connect() and mysql_connect() are updated accordingly, though I have deliberately
made mysqlimport not reconnect anymore (already true for mysqldump >= 4.1.8).
All Connector devs have been warned about the change I'm doing here - which was agreed with Monty,
and fixes BUG#2555.
VC++Files/libmysqltest/mytest.c:
explicit mention of reconnect (no behaviour change)
VC++Files/mysqlmanager/mysqlmanagerview.cpp:
explicit mention of reconnect (no behaviour change)
VC++Files/test1/mysql_thr.c:
explicit mention of reconnect (no behaviour change)
VC++Files/winmysqladmin/main.cpp:
explicit mention of reconnect (no behaviour change)
client/mysql.cc:
explicit mention of reconnect if embedded (no behaviour change)
client/mysqladmin.cc:
explicit mention of reconnect (no behaviour change)
client/mysqlbinlog.cc:
explicit mention of reconnect (no behaviour change)
client/mysqlcheck.c:
explicit mention of reconnect (no behaviour change)
client/mysqlimport.c:
explicit mention of NO reconnect (behaviour change). As most time is passed in LOAD DATA INFILE,
and as it does not make sense to reconnect after a partly failed LOAD... And as mysqlimport sometimes
does LOCK TABLES where we mustn't reconnect...
client/mysqlshow.c:
explicit mention of reconnect (no behaviour change)
client/mysqltest.c:
explicit mention of reconnect (no behaviour change).
Normally we should not reconnect (it's not good to have silent reconnection in the middle of a test),
but 5.0 is too touchy to change it now. I'm marking it TODO.
libmysql/libmysql.c:
explicit mention of reconnect (no behaviour change)
libmysqld/examples/builder-sample/emb_samples.cpp:
explicit mention of reconnect (no behaviour change)
ndb/test/ndbapi/flex_bench_mysql.cpp:
explicit mention of reconnect (no behaviour change)
ndb/tools/restore/consumer_restorem.cpp:
explicit mention of reconnect (no behaviour change)
sql-common/client.c:
Changing the default of libmysqlclient : it's now NO reconnection.
sql/repl_failsafe.cc:
explicit mention of reconnect (no behaviour change)
sql/slave.cc:
explicit mention of reconnect (no behaviour change)
tests/client_test.c:
explicit mention of reconnect (no behaviour change)
tests/connect_test.c:
explicit mention of reconnect (no behaviour change)
tests/deadlock_test.c:
explicit mention of reconnect (no behaviour change)
tests/insert_test.c:
explicit mention of reconnect (no behaviour change)
tests/list_test.c:
explicit mention of reconnect (no behaviour change)
tests/select_test.c:
explicit mention of reconnect (no behaviour change)
tests/showdb_test.c:
explicit mention of reconnect (no behaviour change)
tests/ssl_test.c:
explicit mention of reconnect (no behaviour change)
tests/thread_test.c:
explicit mention of reconnect (no behaviour change)
tools/mysqlmanager.c:
explicit mention of reconnect (no behaviour change)
memory heaps. This changeset plugs also a few memory leaks that
were introduced with the compact InnoDB table format.
innobase/btr/btr0btr.c:
Changed interface to rec_get_offsets()
innobase/btr/btr0cur.c:
Changed interface to rec_get_offsets()
innobase/btr/btr0pcur.c:
Changed interface to rec_get_offsets()
innobase/btr/btr0sea.c:
Changed interface to rec_get_offsets()
innobase/include/rem0rec.h:
Changed interface to rec_get_offsets()
innobase/include/rem0rec.ic:
Changed interface to rec_get_offsets()
innobase/lock/lock0lock.c:
Changed interface to rec_get_offsets()
innobase/page/page0cur.c:
Changed interface to rec_get_offsets()
innobase/page/page0page.c:
Changed interface to rec_get_offsets()
innobase/rem/rem0rec.c:
Changed interface to rec_get_offsets()
innobase/row/row0ins.c:
Changed interface to rec_get_offsets()
innobase/row/row0mysql.c:
Changed interface to rec_get_offsets()
innobase/row/row0purge.c:
Changed interface to rec_get_offsets()
innobase/row/row0row.c:
Changed interface to rec_get_offsets()
innobase/row/row0sel.c:
Changed interface to rec_get_offsets()
innobase/row/row0umod.c:
Changed interface to rec_print()
innobase/row/row0undo.c:
Changed interface to rec_get_offsets()
innobase/row/row0upd.c:
Changed interface to rec_get_offsets()
innobase/row/row0vers.c:
Changed interface to rec_get_offsets()
innobase/trx/trx0rec.c:
Changed interface to rec_get_offsets()
When the joins were not cleaned up before the tables
were closed, a JOIN_TAB still held a pointer to a
meanwhile closed table and tried to close it again
during item cleanup...
record format without requiring the doubly linked list added by
Heikki in ChangeSet@1.1627.16.2
innobase/btr/btr0sea.c:
btr_search_drop_page_hash_index(): support the compact record format
innobase/ibuf/ibuf0ibuf.c:
ibuf_insert_to_index_page(): Remove unnecessary computation of
field offsets.
innobase/row/row0ins.c:
row_ins_index_entry_low(): Remove unnecessary computation of
field offsets.
Remove parameter from call to btr_search_validate().
buf0buf.c:
Initialize member "index" of buf_block_t.
buf0buf.h:
Add member "index" to buf_block_t.
btr0sea.h:
Remove parameter of btr_search_validate()
btr0sea.c:
Make use of the added member "index" of buf_block_t.
innobase/btr/btr0sea.c:
Make use of the added member "index" of buf_block_t.
innobase/include/btr0sea.h:
Remove parameter of btr_search_validate()
innobase/include/buf0buf.h:
Add member "index" to buf_block_t.
innobase/buf/buf0buf.c:
Initialize member "index" of buf_block_t.
innobase/row/row0mysql.c:
Remove parameter from call to btr_search_validate().