[Maria-developers] help with mdev-4687 - aria engina problem with <= operator
hi guys i have a problem with aria https://mariadb.atlassian.net/browse/MDEV-4687 some queries that depend on <= operator don't return right rows (return different from myisam or innodb) i'm getting back to myisam, or innodb these are read intensive tables, and innodb runs slower, and myisam have a crash safe problem (but runs...) please any help is very wellcome thanks guys -- Roberto Spadim
Hi Roberto, On Thu, Jul 25, 2013 at 12:57:08PM -0300, Roberto Spadim wrote:
i have a problem with aria https://mariadb.atlassian.net/browse/MDEV-4687
some queries that depend on <= operator don't return right rows (return different from myisam or innodb)
i'm getting back to myisam, or innodb these are read intensive tables, and innodb runs slower, and myisam have a crash safe problem (but runs...)
I have committed (but not pushed yet) a patch for this. I think a patch is safe to try - it should not have any bad side effects. However, this patch should be reviewed and tested before I push it into the main tree. BR Sergei -- Sergei Petrunia, Software Developer Monty Program AB, http://askmonty.org Blog: http://s.petrunia.net/blog
sergei, a doubt (i put it in jira, but i think that's wrong place... i'm rewriting here) If you execute the same .dump file, and execute a "repair table xxx" and execute the query again, the problem desapear in other words... does we have a problem at updating index (INSERT,UPDATE,DELETE,REPLACE)? or we have a problem at the search? i didn't tested the UPDATE using the same WHERE clause
hum, i executed the test with UPDATE/DELETE... it have bugs too (without your patch) how to reproduce: 1) get .dump file from MDEV 2) execute the file 3) execute the update: UPDATE t7 SET emitente_propriedade=1 WHERE emitente_tipo='j' AND emitente_id=1 AND emitente_propriedade=0 AND nf_serie='3nfe' AND nf < 0; /* Affected rows: 0 */ 4) execute the delete: DELETE FROM t7 WHERE emitente_tipo='j' AND emitente_id=1 AND emitente_propriedade=0 AND nf_serie='3nfe' AND nf < 0; /* Affected rows: 0 */ ------------------------------ i will test with your patch in near time and post again
!!!! NICE IT WORKS !!!! \o/ test results... patched mysqld 1) SELECT * FROM t7 WHERE emitente_tipo='j' AND emitente_id=1 AND emitente_propriedade=0 AND nf_serie='3nfe' AND nf < 0; /* Affected rows: 0 rows found: 2 */ <---- 2 rows!!!! 2) update t7 set emitente_propriedade=1 WHERE emitente_tipo='j' AND emitente_id=1 AND emitente_propriedade=0 AND nf_serie='3nfe' AND nf < 0; /* Affected rows: 2 */ <---- 2 rows!!!! 3) (get back last value of emitente_propriedade) update t7 set emitente_propriedade=0; /* Affected rows: 2 */ <- ok we changed 2 rows at (2) 4) delete from t7 WHERE emitente_tipo='j' AND emitente_id=1 AND emitente_propriedade=0 AND nf_serie='3nfe' AND nf < 0; /* Affected rows: 2 */ <---- 2 rows!!!! :D i think we could apply the patch without problems... i can put it in production server without problems if you want
participants (2)
-
Roberto Spadim
-
Sergei Petrunia