[EMAIL PROTECTED] wrote: > > Sridhar, > Wednesday, September 25, 2002, 12:23:29 AM, you wrote: > > SP> One of our MySQL db's containing BDB tables is exhibiting a strange > SP> behavior. > SP> A query consisting of an ORDER BY clause is returning wrong result set. > SP> The > SP> same query when used without an ORDER BY clause returns the correct > SP> result > SP> set. > > SP> Environment: Sun Solaris 2.7, MySQL 3.23.51, Table Type = BerkleyDB > > SP> Given below is the query for which we are seeing this issue: > SP> select orders.order_uid, orders.status, > SP> (to_days(now()) - to_days(orders.verification_date)) as age > SP> from orders > SP> where orders.status = 'verified' > SP> order by orders.verification_date; > > SP> The above query returns: > SP> +-----------+--------+------+ > SP> | order_uid | status | age | > SP> +-----------+--------+------+ > SP> | 130 | new | NULL | > SP> | 130 | new | NULL | > SP> | 130 | new | NULL | > SP> | 130 | new | NULL | > SP> | 130 | new | NULL | > SP> +-----------+--------+------+ > > SP> What SHOULD have been returned is: > SP> +-----------+----------+------+ > SP> | order_uid | status | age | > SP> +-----------+----------+------+ > SP> | 57 | verified | 4 | > SP> | 76 | verified | 4 | > SP> | 79 | verified | 4 | > SP> | 233 | verified | 3 | > SP> | 234 | verified | 0 | > SP> +-----------+----------+------+ > > SP> Currently i get around this issue by analyzing the BDB tables, but this > SP> seems to be a temporary solution. The issue is intermittent, keeps > SP> surfacing > SP> again after a certain no of days. Did not find any related bugs with the > SP> MySQL version we use (3.23.51). From what i can understand so far, the > SP> index > SP> statistics related to the BDB tables are not getting updated. > > SP> What can be done to correct this issue ? > SP> Are there any other alternative's to this issue ? > SP> Would converting the BerkleyDB (BDB) tables to InnoDB tables solve the > SP> issue ? > > I tested your query on the test BDB table and it worked well, here is > ther result that I got: > +-----------+----------+------+ > | order_uid | status | age | > +-----------+----------+------+ > | 5 | verified | 501 | > | 4 | verified | 267 | > +-----------+----------+------+ > 2 rows in set (0.00 sec) > > Could you provide a repeatable test case? > > BTW if you send bug report, send output of SHOW CREATE TABLE or output > of mysqldump, not the output of DESC table_name. > > I tested it on 3.23.52. > > -- > For technical support contracts, goto https://order.mysql.com/?ref=ensita > This email is sponsored by Ensita.net http://www.ensita.net/ > __ ___ ___ ____ __ > / |/ /_ __/ __/ __ \/ / Victoria Reznichenko > / /|_/ / // /\ \/ /_/ / /__ [EMAIL PROTECTED] > /_/ /_/\_, /___/\___\_\___/ MySQL AB / Ensita.net > <___/ www.mysql.com > > --------------------------------------------------------------------- > Before posting, please check: > http://www.mysql.com/manual.php (the manual) > http://lists.mysql.com/ (the list archive) > > To request this thread, e-mail <[EMAIL PROTECTED]> > To unsubscribe, e-mail ><[EMAIL PROTECTED]> > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Victoria, As said earlier, i cannot reproduce the problem because i analyzed the BDB tables yesterday. If i don't analyze the tables for a week, then the above said problem surfaces again. The application is still in test phase and will be put into production the following Monday. I strongly believe this issue is some how related to BDB index link list statistics that might be getting corrupted. I do not know if this is due to a bug, if so i cannot reproduce it, until i hit the problem again. Speaking of bug, would i abe able to submit this as a bug ? I am seriously pondering if i had a mistake in choosing MySQL for our transactional application. Here's the 'create table': CREATE TABLE `orders` ( `order_uid` bigint(20) NOT NULL auto_increment, `creation_date` datetime NOT NULL default '0000-00-00 00:00:00', `modified_date` timestamp(14) NOT NULL, `status` enum('inprogress','new','submitted','verified','fulfilled','error','canceled') default 'inprogress', `verification_num` char(10) default NULL, `verification_method` enum('third_party','customer_online','customer_fax','none') default 'none', `batch_number` bigint(20) default NULL, `verification_date` datetime default NULL, `salesmaker_fid` bigint(20) default NULL, `legalese_fid` bigint(20) NOT NULL default '0', `loa_sig` char(60) NOT NULL default '', `sa_sig` char(60) NOT NULL default '', `sa_signed_date` datetime default NULL, PRIMARY KEY (`order_uid`), KEY `idx01_orders` (`legalese_fid`) ) TYPE=BerkeleyDB Thanks Sri --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php