List:Commits« Previous MessageNext Message »
From:'Hartmut Holzgraefe' Date:March 31 2006 11:22pm
Subject:bk commit into 5.0 tree (hartmut:1.2097) BUG#18100
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of hholzgraefe. When hholzgraefe does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2097 06/04/01 01:22:06 hartmut@stripped +3 -0
  fix for wrong QUARTER calculation in EXTRACT() (Bug #18100)

  sql/item_timefunc.cc
    1.104 06/04/01 01:22:02 hartmut@stripped +1 -1
    wrong formula for EXTRACT QUARTER, now uses the same calculus as the QUARTER() function

  mysql-test/t/func_time.test
    1.39 06/04/01 01:22:02 hartmut@stripped +18 -0
    expected test results for bug #18100 added

  mysql-test/r/func_time.result
    1.48 06/04/01 01:22:01 hartmut@stripped +36 -0
    test case for bug #18100 added

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	hartmut
# Host:	ndbsup-1.mysql.com
# Root:	/data1/users/hartmut/5.0

--- 1.103/sql/item_timefunc.cc	2006-03-02 14:54:00 +01:00
+++ 1.104/sql/item_timefunc.cc	2006-04-01 01:22:02 +02:00
@@ -2213,7 +2213,7 @@
   switch (int_type) {
   case INTERVAL_YEAR:		return ltime.year;
   case INTERVAL_YEAR_MONTH:	return ltime.year*100L+ltime.month;
-  case INTERVAL_QUARTER:	return ltime.month/3 + 1;
+  case INTERVAL_QUARTER:	return (ltime.month+2)/3;
   case INTERVAL_MONTH:		return ltime.month;
   case INTERVAL_WEEK:
   {

--- 1.47/mysql-test/r/func_time.result	2005-10-14 00:32:28 +02:00
+++ 1.48/mysql-test/r/func_time.result	2006-04-01 01:22:01 +02:00
@@ -360,6 +360,42 @@
 select extract(MONTH FROM "2001-02-00");
 extract(MONTH FROM "2001-02-00")
 2
+SELECT EXTRACT(QUARTER FROM '2004-01-15') AS quarter;
+quarter
+1
+SELECT EXTRACT(QUARTER FROM '2004-02-15') AS quarter;
+quarter
+1
+SELECT EXTRACT(QUARTER FROM '2004-03-15') AS quarter;
+quarter
+1
+SELECT EXTRACT(QUARTER FROM '2004-04-15') AS quarter;
+quarter
+2
+SELECT EXTRACT(QUARTER FROM '2004-05-15') AS quarter;
+quarter
+2
+SELECT EXTRACT(QUARTER FROM '2004-06-15') AS quarter;
+quarter
+2
+SELECT EXTRACT(QUARTER FROM '2004-07-15') AS quarter;
+quarter
+3
+SELECT EXTRACT(QUARTER FROM '2004-08-15') AS quarter;
+quarter
+3
+SELECT EXTRACT(QUARTER FROM '2004-09-15') AS quarter;
+quarter
+3
+SELECT EXTRACT(QUARTER FROM '2004-10-15') AS quarter;
+quarter
+4
+SELECT EXTRACT(QUARTER FROM '2004-11-15') AS quarter;
+quarter
+4
+SELECT EXTRACT(QUARTER FROM '2004-12-15') AS quarter;
+quarter
+4
 SELECT "1900-01-01 00:00:00" + INTERVAL 2147483648 SECOND;
 "1900-01-01 00:00:00" + INTERVAL 2147483648 SECOND
 1968-01-20 03:14:08

--- 1.38/mysql-test/t/func_time.test	2005-10-14 00:32:28 +02:00
+++ 1.39/mysql-test/t/func_time.test	2006-04-01 01:22:02 +02:00
@@ -140,6 +140,24 @@
 select extract(MONTH FROM "2001-02-00");
 
 #
+# test EXTRACT QUARTER (Bug #18100)
+#
+
+SELECT EXTRACT(QUARTER FROM '2004-01-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-02-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-03-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-04-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-05-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-06-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-07-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-08-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-09-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-10-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-11-15') AS quarter;
+SELECT EXTRACT(QUARTER FROM '2004-12-15') AS quarter;
+
+
+#
 # Test big intervals (Bug #3498)
 #
 SELECT "1900-01-01 00:00:00" + INTERVAL 2147483648 SECOND;
Thread
bk commit into 5.0 tree (hartmut:1.2097) BUG#18100'Hartmut Holzgraefe'1 Apr