phpOpenTracker/phpOpenTracker/DB mysql_merge.php,1.22.2.4,1.22.2.5
Sebastian Bergmann <[email protected]> Fri, 12 Mar 2004 11:50:50 +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-serv25599
Modified Files:
Tag: phpOpenTracker_1
mysql_merge.php
Log Message:
Flush.
Index: mysql_merge.php
===================================================================
RCS file: /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/DB/Attic/mysql_merge.php,v
retrieving revision 1.22.2.4
retrieving revision 1.22.2.5
diff -C2 -d -r1.22.2.4 -r1.22.2.5
*** mysql_merge.php 12 Mar 2004 08:48:29 -0000 1.22.2.4
--- mysql_merge.php 12 Mar 2004 11:50:47 -0000 1.22.2.5
***************
*** 213,220 ****
for ($day = 1; $day <= $numDaysInCurrentMonth; $day++) {
! $newAccesslogTable = sprintf(
! '%s_%d%02d%02d',
!
! $this->config['accesslog_table'],
$currentYear,
$currentMonth,
--- 213,218 ----
for ($day = 1; $day <= $numDaysInCurrentMonth; $day++) {
! $newAccesslogTable = $this->_getMergeTableName(
! 'accesslog',
$currentYear,
$currentMonth,
***************
*** 229,236 ****
);
! $newVisitorsTable = sprintf(
! '%s_%d%02d%02d',
!
! $this->config['visitors_table'],
$currentYear,
$currentMonth,
--- 227,232 ----
);
! $newVisitorsTable = $this->_getMergeTableName(
! 'visitors',
$currentYear,
$currentMonth,
***************
*** 248,255 ****
// Create merge tables for current month.
$this->_createMergeTable(
! sprintf(
! '%s_%d%02d',
!
! $this->config['accesslog_table'],
$currentYear,
$currentMonth
--- 244,249 ----
// Create merge tables for current month.
$this->_createMergeTable(
! $this->_getMergeTableName(
! 'accesslog',
$currentYear,
$currentMonth
***************
*** 261,268 ****
$this->_createMergeTable(
! sprintf(
! '%s_%d%02d',
!
! $this->config['visitors_table'],
$currentYear,
$currentMonth
--- 255,260 ----
$this->_createMergeTable(
! $this->_getMergeTableName(
! 'visitors',
$currentYear,
$currentMonth
***************
*** 292,301 ****
$this->_createNewTable(
'accesslog',
! sprintf(
! '%s_%d%02d',
!
! $this->config['accesslog_table'],
$currentYear,
! $month
)
);
--- 284,291 ----
$this->_createNewTable(
'accesslog',
! $this->_getMergeTableName(
! 'accesslog',
$currentYear,
! $currentMonth
)
);
***************
*** 303,312 ****
$this->_createNewTable(
'visitors',
! sprintf(
! '%s_%d%02d',
!
! $this->config['visitors_table'],
$currentYear,
! $month
)
);
--- 293,300 ----
$this->_createNewTable(
'visitors',
! $this->_getMergeTableName(
! 'visitors',
$currentYear,
! $currentMonth
)
);
***************
*** 356,359 ****
--- 344,384 ----
/**
+ * Returns the name of a merge table.
+ *
+ * @param string $type
+ * @param $year
+ * @param optional integer $month
+ * @param optional integer $day
+ * @return string
+ * @access private
+ */
+ function _getMergeTableName($type, $year, $month = false, $day = false) {
+ $name = sprintf(
+ '%s_%d',
+
+ ($type == 'accesslog') ? $this->config['accesslog_table'] : $this->config['visitors_table'],
+ $year
+ );
+
+ if ($month !== false) {
+ $name .= sprintf(
+ '%02d',
+
+ $month
+ );
+ }
+
+ if ($day !== false) {
+ $name .= sprintf(
+ '%02d',
+
+ $day
+ );
+ }
+
+ return $name;
+ }
+
+ /**
* Returns a comma-separated list of existing merge tables.
*
***************
*** 442,473 ****
if ($between != false) {
! $startDay = date('d', $parsedQuery[$between + 1]);
! $startMonth = date('m', $parsedQuery[$between + 1]);
! $startYear = date('Y', $parsedQuery[$between + 1]);
! $endDay = date('d', $parsedQuery[$between + 3]);
! $endMonth = date('m', $parsedQuery[$between + 3]);
! $endYear = date('Y', $parsedQuery[$between + 3]);
! if ($this->config['merge_tables_mode'] == 'day' &&
! $startDay == $endDay &&
! $startMonth == $endMonth &&
! $startYear == $endYear) {
! return $this->_replaceTableNames(
! $query,
! $startYear . $startMonth . $startDay
! );
! }
! else if ($startMonth == $endMonth &&
! $startYear == $endYear) {
! return $this->_replaceTableNames(
! $query,
! $startYear . $startMonth
! );
! }
! else {
! // XXX: TO BE IMPLEMENTED
}
}
--- 467,556 ----
if ($between != false) {
! $accesslogTables = array();
! $visitorsTables = array();
! $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]);
! $done = false;
! 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
! );
! }
! // XXX: TO BE IMPLEMENTED
! }
! break;
!
! case 'month': {
! // start/end in same month: use single month table
! if ($startMonth == $endMonth &&
! $startYear == $endYear) {
! return $this->_replaceTableNames(
! $query,
! $startYear . $startMonth
! );
! }
!
! while (!$done) {
! $accesslogTables[] = $this->_getMergeTableName(
! 'accesslog',
! $year,
! $month
! );
!
! $visitorsTables[] = $this->_getMergeTableName(
! 'visitors',
! $year,
! $month
! );
!
! if ($month == $endMonth &&
! $year == $endYear) {
! $done = true;
! }
!
! else if ($month < 12) {
! $month++;
! } else {
! $month = 1;
! $year++;
! }
! }
!
! $this->createMergeTable(
! $this->config['accesslog_table'] . '_temporary',
! 'accesslog',
! $accesslogTables,
! true,
! true
! );
!
! $this->createMergeTable(
! $this->config['visitors_table'] . '_temporary',
! 'visitors',
! $visitorsTables,
! true,
! true
! );
!
! return $this->_replaceTableNames(
! $query,
! 'temporary'
! );
! }
! break;
}
}
-------------------------------------------------------
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