phpOpenTracker/phpOpenTracker/DB mysql_merge.php,1.22.2.9,1.22.2.10
Sebastian Bergmann <[email protected]> Mon, 12 Apr 2004 08:47:24 +0000
| Newsgroups | gmane.comp.web.phpopentracker.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/DB
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5906
Modified Files:
Tag: phpOpenTracker_1
mysql_merge.php
Log Message:
fix _rewriteSelectQuery($query) method.
Index: mysql_merge.php
===================================================================
RCS file: /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/DB/Attic/mysql_merge.php,v
retrieving revision 1.22.2.9
retrieving revision 1.22.2.10
diff -u -d -r1.22.2.9 -r1.22.2.10
--- mysql_merge.php 12 Apr 2004 08:42:49 -0000 1.22.2.9
+++ mysql_merge.php 12 Apr 2004 08:47:21 -0000 1.22.2.10
@@ -470,122 +470,124 @@
$parsedQuery = explode(' ', $query);
$between = array_search('BETWEEN', $parsedQuery);
- if ($between != false) {
- $accesslogTables = array();
- $visitorsTables = array();
+ if ($between == false) {
+ return $query;
+ }
- $startDay = $day = date('d', $parsedQuery[$between + 1]);
- $startMonth = $month = date('m', $parsedQuery[$between + 1]);
- $startYear = $year = date('Y', $parsedQuery[$between + 1]);
- $endDay = date('d', $parsedQuery[$between + 3]);
- $endMonth = date('m', $parsedQuery[$between + 3]);
- $endYear = date('Y', $parsedQuery[$between + 3]);
+ $accesslogTables = array();
+ $visitorsTables = array();
- $done = false;
- $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
+ $startDay = $day = date('d', $parsedQuery[$between + 1]);
+ $startMonth = $month = date('m', $parsedQuery[$between + 1]);
+ $startYear = $year = date('Y', $parsedQuery[$between + 1]);
+ $endDay = date('d', $parsedQuery[$between + 3]);
+ $endMonth = date('m', $parsedQuery[$between + 3]);
+ $endYear = date('Y', $parsedQuery[$between + 3]);
- switch ($this->config['merge_tables_mode']) {
- case 'day': {
- // start/end on the same day: use single day table
- if ($startDay == $endDay &&
- $startMonth == $endMonth &&
- $startYear == $endYear) {
- return $this->_replaceTableNames(
- $query,
- $startYear . $startMonth . $startDay
- );
- }
+ $done = false;
+ $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
- // month range: use single month table
- if ($startDay == 1 &&
- $endDay >= 28 &&
- $startMonth == $endMonth &&
- $startYear == $endYear) {
- return $this->_replaceTableNames(
- $query,
- $startYear . $startMonth
- );
- }
+ switch ($this->config['merge_tables_mode']) {
+ case 'day': {
+ // start/end on the same day: use single day table
+ if ($startDay == $endDay &&
+ $startMonth == $endMonth &&
+ $startYear == $endYear) {
+ return $this->_replaceTableNames(
+ $query,
+ $startYear . $startMonth . $startDay
+ );
+ }
- while (!$done) {
- $accesslogTables[] = $this->_getMergeTableName(
- 'accesslog',
- $year,
- $month,
- $day
- );
+ // month range: use single month table
+ if ($startDay == 1 &&
+ $endDay >= 28 &&
+ $startMonth == $endMonth &&
+ $startYear == $endYear) {
+ return $this->_replaceTableNames(
+ $query,
+ $startYear . $startMonth
+ );
+ }
- $visitorsTables[] = $this->_getMergeTableName(
- 'visitors',
- $year,
- $month,
- $day
- );
+ while (!$done) {
+ $accesslogTables[] = $this->_getMergeTableName(
+ 'accesslog',
+ $year,
+ $month,
+ $day
+ );
- if ($day == $endDay &&
- $month == $endMonth &&
- $year == $endYear) {
- $done = true;
- }
+ $visitorsTables[] = $this->_getMergeTableName(
+ 'visitors',
+ $year,
+ $month,
+ $day
+ );
- else if ($day == $numDaysInCurrentMonth) {
- $day = 1;
+ if ($day == $endDay &&
+ $month == $endMonth &&
+ $year == $endYear) {
+ $done = true;
+ }
- if ($month < 12) {
- $month++;
- } else {
- $month = 1;
- $year++;
- }
+ else if ($day == $numDaysInCurrentMonth) {
+ $day = 1;
- $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
+ if ($month < 12) {
+ $month++;
+ } else {
+ $month = 1;
+ $year++;
}
- else {
- $day++;
- }
+ $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
}
- }
- break;
- case 'month': {
- // start/end in same month: use single month table
- if ($startMonth == $endMonth &&
- $startYear == $endYear) {
- return $this->_replaceTableNames(
- $query,
- $startYear . $startMonth
- );
+ else {
+ $day++;
}
+ }
+ }
+ break;
- while (!$done) {
- $accesslogTables[] = $this->_getMergeTableName(
- 'accesslog',
- $year,
- $month
- );
+ case 'month': {
+ // start/end in same month: use single month table
+ if ($startMonth == $endMonth &&
+ $startYear == $endYear) {
+ return $this->_replaceTableNames(
+ $query,
+ $startYear . $startMonth
+ );
+ }
- $visitorsTables[] = $this->_getMergeTableName(
- 'visitors',
- $year,
- $month
- );
+ while (!$done) {
+ $accesslogTables[] = $this->_getMergeTableName(
+ 'accesslog',
+ $year,
+ $month
+ );
- if ($month == $endMonth &&
- $year == $endYear) {
- $done = true;
- }
+ $visitorsTables[] = $this->_getMergeTableName(
+ 'visitors',
+ $year,
+ $month
+ );
- else if ($month < 12) {
- $month++;
- } else {
- $month = 1;
- $year++;
- }
+ if ($month == $endMonth &&
+ $year == $endYear) {
+ $done = true;
+ }
+
+ else if ($month < 12) {
+ $month++;
+ } else {
+ $month = 1;
+ $year++;
}
}
- break;
}
+ break;
}
$this->_createMergeTable(
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click