Commit f5f55979 authored by unknown's avatar unknown
Browse files

bug#5782

parent 8a63a0b5
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
@@ -29,3 +29,44 @@ count(*)
select * from t2 limit 0;
a	b	c
drop table t2;
CREATE TABLE `t2` (
`views` int(11) NOT NULL default '0',
`clicks` int(11) NOT NULL default '0',
`day` date NOT NULL default '0000-00-00',
`hour` tinyint(4) NOT NULL default '0',
`bannerid` smallint(6) NOT NULL default '0',
`zoneid` smallint(6) NOT NULL default '0',
`source` varchar(50) NOT NULL default '',
PRIMARY KEY  (`day`,`hour`,`bannerid`,`zoneid`,`source`),
KEY `bannerid_day` (`bannerid`,`day`),
KEY `zoneid` (`zoneid`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
INSERT INTO `t2` VALUES
(  1,0,'2004-09-17', 5,100,100,''),
(  1,0,'2004-09-18', 7,100,100,''),
( 17,0,'2004-09-27',20,132,100,''),
(  4,0,'2004-09-16',23,132,100,''),
( 86,0,'2004-09-18', 7,196,196,''),
( 11,0,'2004-09-16',16,132,100,''),
(140,0,'2004-09-18', 0,100,164,''),
(  2,0,'2004-09-17', 7,132,100,''),
(846,0,'2004-09-27',11,132,164,''),
(  1,0,'2004-09-18', 8,132,100,''),
( 22,0,'2004-09-27', 9,164,132,''),
(711,0,'2004-09-27', 9,100,164,''),
( 11,0,'2004-09-18', 0,196,132,''),
( 41,0,'2004-09-27',15,196,132,''),
( 57,0,'2004-09-18', 2,164,196,'');
SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
as date_formatted FROM t2 GROUP BY day ORDER BY day DESC;
date	date_formatted
20040927	27-09-2004
20040918	18-09-2004
20040917	17-09-2004
20040916	16-09-2004
SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
as date_formatted FROM t2 GROUP BY day ORDER BY day DESC LIMIT 2;
date	date_formatted
20040927	27-09-2004
20040918	18-09-2004
drop table t2;
+38 −0
Original line number Diff line number Diff line
@@ -42,3 +42,41 @@ select count(*) from t2 where c=12345678 limit 1000;
select * from t2 limit 0;

drop table t2;

CREATE TABLE `t2` (
  `views` int(11) NOT NULL default '0',
  `clicks` int(11) NOT NULL default '0',
  `day` date NOT NULL default '0000-00-00',
  `hour` tinyint(4) NOT NULL default '0',
  `bannerid` smallint(6) NOT NULL default '0',
  `zoneid` smallint(6) NOT NULL default '0',
  `source` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`day`,`hour`,`bannerid`,`zoneid`,`source`),
  KEY `bannerid_day` (`bannerid`,`day`),
  KEY `zoneid` (`zoneid`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;

INSERT INTO `t2` VALUES
(  1,0,'2004-09-17', 5,100,100,''),
(  1,0,'2004-09-18', 7,100,100,''),
( 17,0,'2004-09-27',20,132,100,''),
(  4,0,'2004-09-16',23,132,100,''),
( 86,0,'2004-09-18', 7,196,196,''),
( 11,0,'2004-09-16',16,132,100,''),
(140,0,'2004-09-18', 0,100,164,''),
(  2,0,'2004-09-17', 7,132,100,''),
(846,0,'2004-09-27',11,132,164,''),
(  1,0,'2004-09-18', 8,132,100,''),
( 22,0,'2004-09-27', 9,164,132,''),
(711,0,'2004-09-27', 9,100,164,''),
( 11,0,'2004-09-18', 0,196,132,''),
( 41,0,'2004-09-27',15,196,132,''),
( 57,0,'2004-09-18', 2,164,196,'');

SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
as date_formatted FROM t2 GROUP BY day ORDER BY day DESC;

SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
as date_formatted FROM t2 GROUP BY day ORDER BY day DESC LIMIT 2;

drop table t2;
+4 −2
Original line number Diff line number Diff line
@@ -7188,11 +7188,13 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,

    for (nr=0; nr < table->keys ; nr++)
    {
      uint not_used;
      uint used_key_parts;
      if (keys.is_set(nr))
      {
	int flag;
	if ((flag=test_if_order_by_key(order, table, nr, &not_used)))
	if ((flag=test_if_order_by_key(order, table, nr, &used_key_parts)) > 0 ||
	    ((flag < 0) && (table->file->index_flags(nr,used_key_parts-1, 1)
			    & HA_READ_PREV)))
	{
	  if (!no_changes)
	  {