Commit graph

284 commits

Author SHA1 Message Date
Zardosht Kasheff
a1b7692cae addreses #1094
git-svn-id: file:///svn/mysql/tokudb-engine/src@5650 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
177f7b9a67 addresses #1087
make sure ::optimize uses valid transaction

git-svn-id: file:///svn/mysql/tokudb-engine/src@5648 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
c86dc3f490 addresses #1078
small changes to get savepoint code to compile

git-svn-id: file:///svn/mysql/tokudb-engine/src@5647 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
728227237a addresses #1088
fix null keys in case for updates

git-svn-id: file:///svn/mysql/tokudb-engine/src@5632 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
39634ae96d addresses #1068
use right transaction param

git-svn-id: file:///svn/mysql/tokudb-engine/src@5612 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
a5ffdc7ca9 addresses #1068
for function optimize tables, does a full table scan on each key to flatten DB

git-svn-id: file:///svn/mysql/tokudb-engine/src@5611 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
f9850e0fde addresses #1084
implement HA_EXTRA_IGNORE_DUP_KEY correctly

git-svn-id: file:///svn/mysql/tokudb-engine/src@5592 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
060d2d73b4 addresses #1058
get ha_tokudb to properly support keys with NULL values in unique indexes
still need to write an automated test

git-svn-id: file:///svn/mysql/tokudb-engine/src@5589 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
c38e0d7800 addresses #1069 #1077
merge into main line for 1.0.7

git-svn-id: file:///svn/mysql/tokudb-engine/src@5567 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
69b3d73aad addresses #1066
remove overactive assert

git-svn-id: file:///svn/mysql/tokudb-engine/src@5476 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
5c938aae5f addresses #1047
fix bad merge

git-svn-id: file:///svn/mysql/tokudb-engine/src@5448 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
9c9c5f985f addresses #1047 #1056
use smart DBT's for add_index and ha_tokudb cursor operations

git-svn-id: file:///svn/mysql/tokudb-engine/src@5433 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
52abaa223d addresses #1057
add DB_PRELOCKED flag where applicable in add_index

git-svn-id: file:///svn/mysql/tokudb-engine/src@5410 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Rich Prohaska
512c3e5c3c simplify the delete_all_rows. addresses #969
git-svn-id: file:///svn/mysql/tokudb-engine/src@5237 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Rich Prohaska
d08a579059 implement delete_all_rows. closes #969
git-svn-id: file:///svn/mysql/tokudb-engine/src@5232 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Yoni Fogel
d3de732f61 Addresses #993
Removed duplicated temp file

git-svn-id: file:///svn/mysql/tokudb-engine/src@5187 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
2bcd7bf091 addresses #993
use heaviside function for index_read

git-svn-id: file:///svn/mysql/tokudb-engine/src@5164 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Yoni Fogel
3c5cc701f3 Addresses #993
Cleanup

git-svn-id: file:///svn/mysql/tokudb-engine/src@5160 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
6313f1f675 Addressed #993
Removed unused variables.

git-svn-id: file:///svn/mysql/tokudb-engine/src@5158 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
1915677d7a Addresses #993
Removed debug verification for heaviside functions

git-svn-id: file:///svn/mysql/tokudb-engine/src@5157 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Zardosht Kasheff
798179fd10 Addresses #993
Fix bug in assertion

git-svn-id: file:///svn/mysql/tokudb-engine/src@5156 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:44 -04:00
Yoni Fogel
5884ae2d70 Addresses #993
Renamed file

git-svn-id: file:///svn/mysql/tokudb-engine/src@5155 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Yoni Fogel
fb90472a5c Addresses #993
Bugfix in comparison in heaviside funcs

git-svn-id: file:///svn/mysql/tokudb-engine/src@5154 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Yoni Fogel
0cd1ab4ed4 Addresses #993
Added verification checks

git-svn-id: file:///svn/mysql/tokudb-engine/src@5153 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Yoni Fogel
4239e6179e Addresses #993
Add heaviside function (c_getf_heavi) use to handlerton.

git-svn-id: file:///svn/mysql/tokudb-engine/src@5150 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
887e51dc95 addresses #1022
forgot to close cursor

git-svn-id: file:///svn/mysql/tokudb-engine/src@5108 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
e460e8c991 addresses #973
reintroduce change that saves memcpy when primary key is covering index,
will add note to release notes stating not to have prefix as part of primary key

git-svn-id: file:///svn/mysql/tokudb-engine/src@5068 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
c5f1fb75f4 addresses #1013
make sure tokudb does not support geometry, per PRD

git-svn-id: file:///svn/mysql/tokudb-engine/src@5024 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
23fb4b4628 addresses #977
remove hack to get decimals working

git-svn-id: file:///svn/mysql/tokudb-engine/src@4988 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
15e8649e50 addresses #1001
reduce number of key_range64 calls

git-svn-id: file:///svn/mysql/tokudb-engine/src@4969 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
f5f6715103 addresses #814
readd lock around f'n

git-svn-id: file:///svn/mysql/tokudb-engine/src@4942 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
61612cdcf3 addresses #814
undo bad change, not sure why it is bad, but it is

git-svn-id: file:///svn/mysql/tokudb-engine/src@4941 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
43d0540e71 addresses #814
remove leak of status_block

git-svn-id: file:///svn/mysql/tokudb-engine/src@4940 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
3ef8c9d2cb addresses #814
some function cleanup

git-svn-id: file:///svn/mysql/tokudb-engine/src@4932 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
5bde893355 addresses #814
little bit of cleaning up

git-svn-id: file:///svn/mysql/tokudb-engine/src@4931 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
8cd2f2b5cd addresses #814
put in real capabilities value

git-svn-id: file:///svn/mysql/tokudb-engine/src@4930 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
cf3a9de692 addresses #814
add version and capabilities, some cleanup still required, but code works

git-svn-id: file:///svn/mysql/tokudb-engine/src@4929 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
0af29e918b addresses #814
restructure code before adding version and capabilities

git-svn-id: file:///svn/mysql/tokudb-engine/src@4928 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
914273aa6a addresses #814
curly braces around if clause

git-svn-id: file:///svn/mysql/tokudb-engine/src@4927 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
8b5e9a44bc addresses #814
remove update_status, at moment, there is nothing that needs updating when
DB is going away

git-svn-id: file:///svn/mysql/tokudb-engine/src@4926 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
2cfc80d4aa addresses #814
remove extraneous variable

git-svn-id: file:///svn/mysql/tokudb-engine/src@4925 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
01008c5abd addresses #852
renumber flags after a couple were deleted

git-svn-id: file:///svn/mysql/tokudb-engine/src@4924 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
d39ec884d6 addresses #852
remove extraneous flags that were lying around

git-svn-id: file:///svn/mysql/tokudb-engine/src@4923 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
4fd737063d addresses #852
remove function write_status, no longer being used

git-svn-id: file:///svn/mysql/tokudb-engine/src@4921 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
63c0be36e5 addresses #852
as of now, no info is stored in status.tokudb because the old info
that was stored is not needed anymore. Info will be stored soon.

git-svn-id: file:///svn/mysql/tokudb-engine/src@4920 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
2251847caf addresses 967
remove unused variables share->rows and share->org_rows that were useed
to estimate row count. row count is now estimated with key_range64

git-svn-id: file:///svn/mysql/tokudb-engine/src@4919 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
eb23b1f6c5 addresses #967
make row count displayed in show table status better by 
using key_range64 to estimate stats.records instead of keeping a running tally

git-svn-id: file:///svn/mysql/tokudb-engine/src@4918 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
6d229ca2d5 addresses #977
temporary change to test if just doing a memcpy will work for unpacking
a Field_new_decimal
real change is to modify Field_new_decimal, but by checking this in, we can
quickly get regression results

git-svn-id: file:///svn/mysql/tokudb-engine/src@4904 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
2929a3c472 addresses 977
previous fix was bad, undid it

git-svn-id: file:///svn/mysql/tokudb-engine/src@4880 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:43 -04:00
Zardosht Kasheff
5ebd148d08 addresses #977
get decimals working properly in tokudb

git-svn-id: file:///svn/mysql/tokudb-engine/src@4828 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
790800429a addresses 612
change max number of keys to be 64

git-svn-id: file:///svn/mysql/tokudb-engine/src@4796 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
9090a45745 addresses 958
fix file descriptor leak that happens on add_index

git-svn-id: file:///svn/mysql/tokudb-engine/src@4795 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
9b4c56fd78 addresses 962
grab table locks when doing a scan of a secondary index

git-svn-id: file:///svn/mysql/tokudb-engine/src@4792 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
b75787e10b addresses #973
just unpacking key has problems when the key is a substring of a column. MySQL still reports that it is a covering index, must back out previous change

git-svn-id: file:///svn/mysql/tokudb-engine/src@4782 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
ea35126a84 addresses 973
dont unpack entire row when primary key is used as covering index

git-svn-id: file:///svn/mysql/tokudb-engine/src@4770 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
661e8854f8 addresses #922
fix overactive assert

git-svn-id: file:///svn/mysql/tokudb-engine/src@4767 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
4d300a2348 addresses 922
when locking table, grab table locks

git-svn-id: file:///svn/mysql/tokudb-engine/src@4764 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
6f84151a7a addresses #922
readd useful comment that went away with last checkin

git-svn-id: file:///svn/mysql/tokudb-engine/src@4753 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
0985fbb3d1 addresses #922
cosmetic change, make external_lock have only one return pt

git-svn-id: file:///svn/mysql/tokudb-engine/src@4751 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
4fa1d520e9 addresses #922
make external_lock more readable

git-svn-id: file:///svn/mysql/tokudb-engine/src@4750 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
84b982ba2a addresses #922
back out change for 4591, need more testing before it can go in
reopening ticket

git-svn-id: file:///svn/mysql/tokudb-engine/src@4634 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
37d2b97c8a addresses #930
fix buffer overwrite error. Bug has been around, but just recently exposed
by checkin 4590

git-svn-id: file:///svn/mysql/tokudb-engine/src@4616 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
c5cf855e68 addresses #895
implement read_time to take into account that the primary_key is clustered

git-svn-id: file:///svn/mysql/tokudb-engine/src@4595 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
62deaba0d2 addresses #922
pre_acquire table locks from lock tree when mysql is doing a lock table

git-svn-id: file:///svn/mysql/tokudb-engine/src@4591 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
8b112ba2d4 addresses #924
add_index now correctly computes number of existing DB files

git-svn-id: file:///svn/mysql/tokudb-engine/src@4590 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
8e1bc4e999 addresses #922
rename lock_grabbed to range_lock_grabbed to help distinguish from
cases where table lock is grabbed

git-svn-id: file:///svn/mysql/tokudb-engine/src@4589 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
35ddbcb694 addresses #909
fix index_prev in case we don't have lock
it was a typo before

git-svn-id: file:///svn/mysql/tokudb-engine/src@4516 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Rich Prohaska
ed2fdd2f44 get the left outer join test in the sql-bench/insert working. addresses #838
git-svn-id: file:///svn/mysql/tokudb-engine/src@4515 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
3d40779336 addresses #913
grab locks in add_index to reduce lock tree overhead

git-svn-id: file:///svn/mysql/tokudb-engine/src@4499 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
b453499ae7 addresses #909
use DB_PRELOCK when we know we have lock acquired

git-svn-id: file:///svn/mysql/tokudb-engine/src@4481 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
890ee02626 addresses #873
no need to disable shortcut sorts with blobs

git-svn-id: file:///svn/mysql/tokudb-engine/src@4461 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
92022f03dd addresses #901
make handlerton not use a cursor that has had a failed operation
this will be useful for lightweight cursors

git-svn-id: file:///svn/mysql/tokudb-engine/src@4455 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
a939fc8b6a addresses #901
slightly restructure some functions to allow handling of lighter weight cursors

git-svn-id: file:///svn/mysql/tokudb-engine/src@4439 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
0be188db17 addresses #893
implement read_range_first to grab range read lock

git-svn-id: file:///svn/mysql/tokudb-engine/src@4405 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
3d417ee569 addresses #893
make table scans grab an entire read lock from the beginning

git-svn-id: file:///svn/mysql/tokudb-engine/src@4404 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
9732f7f32a addresses #873
used to disable covering indexes for some keys with strings for wrong reasons
not anymore

git-svn-id: file:///svn/mysql/tokudb-engine/src@4386 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Zardosht Kasheff
ec046740e4 addresses #893
add instances of read_range_first and read_range_next in ha_tokudb
currently just call parent class version

git-svn-id: file:///svn/mysql/tokudb-engine/src@4385 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:42 -04:00
Rich Prohaska
6a02056db4 get the sql command that is being processed when the external_lock function is called
git-svn-id: file:///svn/mysql/tokudb-engine/src@4353 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
e8f46df530 addresses #883
make add_index faster by making inserts into secondary table all be part
of on transaction

git-svn-id: file:///svn/mysql/tokudb-engine/src@4287 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
29e0cf4812 addresses #843
merge back into main branch

git-svn-id: file:///svn/mysql/tokudb-engine/src@4264 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
382402e728 addresses #861
now DB's are removed with db->remove and unlink

git-svn-id: file:///svn/mysql/tokudb-engine/src@4252 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
413d9c2195 addresses #874
check to see if keys that are added have same name as existing keys.
if so, gracefully return error

git-svn-id: file:///svn/mysql/tokudb-engine/src@4250 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
320be7d69f addresses #863
get proper error msg returned

git-svn-id: file:///svn/mysql/tokudb-engine/src@4224 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Rich Prohaska
3962b4c599 change the default cache table size to 1/2 of physical memory and add a sysvar that allows one to change the default percentage. closes #876
git-svn-id: file:///svn/mysql/tokudb-engine/src@4218 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
d64f437c88 addresses #846
tmp_key_buff was not big enough

git-svn-id: file:///svn/mysql/tokudb-engine/src@4200 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
9be6de8e68 addresses #846
table->s->max_key_length does not take into account new keys that are being added, and therefore is not suitable as a buffer size

git-svn-id: file:///svn/mysql/tokudb-engine/src@4167 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
dea9281ad5 addresses #846
not accessing ANOTHER null_bit correctly

git-svn-id: file:///svn/mysql/tokudb-engine/src@4165 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
2e3a952062 addresses #846
not accessing null_bit correctly

git-svn-id: file:///svn/mysql/tokudb-engine/src@4164 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
d75d64907a addresses #846
merge back into main branch

git-svn-id: file:///svn/mysql/tokudb-engine/src@4138 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Rich Prohaska
5924dbb1b4 control tokudb logging with the DB_INIT_LOG flag. closes #807
git-svn-id: file:///svn/mysql/tokudb-engine/src@4019 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
a77902c5e6 addresses #830
comment out DB_DBT_DUPOK usage, which fractal tree
does not understand at the moment

git-svn-id: file:///svn/mysql/tokudb-engine/src@3956 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
05a60c31f0 addresses #772
with DB->key_range64 implemented, enable records_in_range

git-svn-id: file:///svn/mysql/tokudb-engine/src@3952 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
be974a2363 addresses #828
replace bad NULL param with what the param should actually be

git-svn-id: file:///svn/mysql/tokudb-engine/src@3951 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
0aa99acbde addresses #822
git-svn-id: file:///svn/mysql/tokudb-engine/src@3939 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
73d7c19e8c addresses #808
reduce complexity of pack_row and make it independent of whether
we have a hidden primary key

git-svn-id: file:///svn/mysql/tokudb-engine/src@3920 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
369670902e addresses #808
no longer append hidden primary key at end of data inserted in tokudb table

git-svn-id: file:///svn/mysql/tokudb-engine/src@3900 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
8125c7c2af addresses #686
remove extraneous parameter in remove_keys

git-svn-id: file:///svn/mysql/tokudb-engine/src@3862 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
f97b5a7df0 addresses #686
add comments for create_key, pack_key, remove_keys, remove_key

git-svn-id: file:///svn/mysql/tokudb-engine/src@3860 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
02b7ae99f3 addresses #772
git-svn-id: file:///svn/mysql/tokudb-engine/src@3818 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
3144ecd8bd addresses #765
add tracing to more functions to get better idea of how MySQL makes calls
into handlerton

git-svn-id: file:///svn/mysql/tokudb-engine/src@3801 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
a90e19a8e1 addresses #732
make error handling of index_read and index_last consistent with
MyISAM and InnoDB

git-svn-id: file:///svn/mysql/tokudb-engine/src@3800 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Rich Prohaska
b6ca0c98c9 port to mysql 5.1.24-rc. addresses #776
git-svn-id: file:///svn/mysql/tokudb-engine/src@3766 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
a3474c1bde addresses #686
remove some comments about position() and rnd_pos() that may have been
inaccurate. Will put in comments once functions are better understood

git-svn-id: file:///svn/mysql/tokudb-engine/src@3650 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
33af62c16f addresses #686
add comments to understand how rnd_pos and position relate to each other
and how they work

git-svn-id: file:///svn/mysql/tokudb-engine/src@3638 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Zardosht Kasheff
cecacda7d2 addresses #686
comments for pack_row and unpack_key

git-svn-id: file:///svn/mysql/tokudb-engine/src@3634 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:41 -04:00
Rich Prohaska
e097db97af trace the ha_tokudb::rename method. closes #745
git-svn-id: file:///svn/mysql/tokudb-engine/src@3631 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Zardosht Kasheff
d761a002f6 closes #744
should do bzero on byte_stream instead of &byte_stream
only affected in a certain trace mode

git-svn-id: file:///svn/mysql/tokudb-engine/src@3628 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
1309643b90 turn recovery off for the 1.0.1 release. closes #742
git-svn-id: file:///svn/mysql/tokudb-engine/src@3624 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
9d4af785cc change the auto_increment field filter to only allow the first field in the primary key or the first field in the row if there is no primary key. closes #738
git-svn-id: file:///svn/mysql/tokudb-engine/src@3596 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
584d43ab30 print a usage message for any unknown parameters (which are probably typos). closes #737
git-svn-id: file:///svn/mysql/tokudb-engine/src@3588 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
066a02e99c fix the crash.sql problem when transactions are turned off. closes #734
git-svn-id: file:///svn/mysql/tokudb-engine/src@3568 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
b8c6f4bf48 get covering index reads to work by supplying the key from the index to the read row function. addresses #705
git-svn-id: file:///svn/mysql/tokudb-engine/src@3559 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Zardosht Kasheff
213ba27532 addresses #686
add comments for read_row

git-svn-id: file:///svn/mysql/tokudb-engine/src@3543 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Zardosht Kasheff
3c671f37a1 addresses #686
add comments for several member variables

git-svn-id: file:///svn/mysql/tokudb-engine/src@3535 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
70c7d6cdb5 allow one to set the version. closes #727
git-svn-id: file:///svn/mysql/tokudb-engine/src@3534 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
01921df6ca more changes to get the storage engine working without transactions. addresses #460
git-svn-id: file:///svn/mysql/tokudb-engine/src@3526 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
a7d40ecb7d allow one to turn transactions, locking, or logging off in the tokudb storage engine for experiments. addresses #460
git-svn-id: file:///svn/mysql/tokudb-engine/src@3512 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Zardosht Kasheff
1c69b497bc addresses #686
add comments to most member variables in ha_tokudb.cc
change initialization of cursor and transaction pointers to NULL instead of 0


git-svn-id: file:///svn/mysql/tokudb-engine/src@3510 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
502187f0af just add a checkpoint to the log when the handlerton is shutdown. closes #702
git-svn-id: file:///svn/mysql/tokudb-engine/src@3509 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
f80264c2b5 turn on DB_RECOVER in the env->open call. closes #652
git-svn-id: file:///svn/mysql/tokudb-engine/src@3508 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Zardosht Kasheff
41b94672bd addresses #686
put comments above public function declaring what their behavior, parameters
and possible return values

git-svn-id: file:///svn/mysql/tokudb-engine/src@3500 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
f50ca6bed4 fix the ATIS test SELECT failure by adding a dup compare function for the primary key. closes #637
git-svn-id: file:///svn/mysql/tokudb-engine/src@3491 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
ccd4a0b09a dont delete an uninitialized pointer. closes #707
git-svn-id: file:///svn/mysql/tokudb-engine/src@3485 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Yoni Fogel
761bef7880 Addresses #701
Save comparison function in handlerton
Currently supports all pure integer types



git-svn-id: file:///svn/mysql/tokudb-engine/src@3476 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
a1049ccc47 remove the subdatabase names from the tokudb databases. addresses #703
git-svn-id: file:///svn/mysql/tokudb-engine/src@3460 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
510a82718f cleanup the cleanup log files function. addresses #702
git-svn-id: file:///svn/mysql/tokudb-engine/src@3455 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
d98d0ca86a show engine tokudb logs always reports nothing. the tokudb log_archhive function always returns EINVAL since it does not support flags!=0. set log_archive flags=0 for tokudb to avoid EINVAL return. addresses #697
git-svn-id: file:///svn/mysql/tokudb-engine/src@3450 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
4cd5722177 cleanup the ::get_status function. closes #657
git-svn-id: file:///svn/mysql/tokudb-engine/src@3313 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
257c7b13c5 remove ha_tokudb::index_read_last and use the default implementation. closes #645
git-svn-id: file:///svn/mysql/tokudb-engine/src@3287 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Vincenzo Liberatore
dc4573802f Addresses #629 Remove some tracking code
git-svn-id: file:///svn/mysql/tokudb-engine/src@3282 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Zardosht Kasheff
968b3369cf addresses #648
dereferencing value in debug statement that could be NULL
this fixes it.

git-svn-id: file:///svn/mysql/tokudb-engine/src@3276 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Yoni Fogel
e32ce57034 Addresses #648
Updated ha_tokudb::index_read and comparison functions based on code review.
Also put in some (very informal) comments about how index_read is supposed to work.

git-svn-id: file:///svn/mysql/tokudb-engine/src@3275 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Vincenzo Liberatore
62a3b58ba1 Addresses #629 Some changes to the handlerton to track down the error
git-svn-id: file:///svn/mysql/tokudb-engine/src@3274 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Vincenzo Liberatore
0f527440cf Addresses #628 See mysql/doc/deadlock.txt and change history in this ticket for further comments
git-svn-id: file:///svn/mysql/tokudb-engine/src@3243 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:40 -04:00
Rich Prohaska
afb13965f3 translate DB_LOCK_NOTGRANTED to ER_CANT_LOCK. addresses #624
git-svn-id: file:///svn/mysql/tokudb-engine/src@3233 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
4da98dadd6 cleanup table files if a create fails. closes #624
git-svn-id: file:///svn/mysql/tokudb-engine/src@3216 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
97bb315848 fix the EDOM errors by makeing the key compare function implement a total order on the key space (including key prefixes), and using DB_SET_RANGE in place of DB_SET for cursor operations. closes #576 closes #587
git-svn-id: file:///svn/mysql/tokudb-engine/src@3211 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
e34a3e7851 limit table create for auto increment keys. closes #539
git-svn-id: file:///svn/mysql/tokudb-engine/src@3202 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Zardosht Kasheff
9d9b533fed added executebit for configure
git-svn-id: file:///svn/mysql/tokudb-engine/src@3190 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
2eda3c1080 fix the problem with mysql unpack_key implementation. closes #561
git-svn-id: file:///svn/mysql/tokudb-engine/src@3187 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
e492a3cfe0 add tracing at the mysql handler/ton interfaces
git-svn-id: file:///svn/mysql/tokudb-engine/src@3079 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
1bf8b92f91 fix the DEBUG=0 build. addresses #317
git-svn-id: file:///svn/mysql/tokudb-engine/src@3072 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
f84d63089e add tokudb_version string derived from the build branch name. closes #597
git-svn-id: file:///svn/mysql/tokudb-engine/src@3070 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
15f55a7d09 rearrange the debug tracing
git-svn-id: file:///svn/mysql/tokudb-engine/src@3068 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
ba1cb2251f file->offset(addr) were assuming addr was within the field's record, which is not always the case. closes #592
git-svn-id: file:///svn/mysql/tokudb-engine/src@3058 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
36b52aef6c get_auto_increment consumes only the desired number of sequential numbers
from the last auto increment number.  this makes insertions of multiple rows
work.



git-svn-id: file:///svn/mysql/tokudb-engine/src@3049 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
1bad2b1ffd add build variables to control DEBUG and GCOV builds. addresses #317
git-svn-id: file:///svn/mysql/tokudb-engine/src@3021 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
13b679ae5a the -nostdlib prohibits coverage compiles to work. addresses #363
git-svn-id: file:///svn/mysql/tokudb-engine/src@3020 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
12d7fdbbb7 simplify the config and build. addresses #317
git-svn-id: file:///svn/mysql/tokudb-engine/src@3017 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00
Rich Prohaska
1e0b6b3210 add PREFIX_KEY_OR_PREV index match. closes #488
git-svn-id: file:///svn/mysql/tokudb-engine/src@3009 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:39 -04:00