当前位置: 首页>>代码示例>>PHP>>正文


PHP Db::deleteAllRows方法代码示例

本文整理汇总了PHP中Piwik\Db::deleteAllRows方法的典型用法代码示例。如果您正苦于以下问题:PHP Db::deleteAllRows方法的具体用法?PHP Db::deleteAllRows怎么用?PHP Db::deleteAllRows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Piwik\Db的用法示例。


在下文中一共展示了Db::deleteAllRows方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: purgeData

 /**
  * Purges old data from the following tables:
  * - log_visit
  * - log_link_visit_action
  * - log_conversion
  * - log_conversion_item
  * - log_action
  */
 public function purgeData()
 {
     $maxIdVisit = $this->getDeleteIdVisitOffset();
     // break if no ID was found (nothing to delete for given period)
     if (empty($maxIdVisit)) {
         return;
     }
     $logTables = self::getDeleteTableLogTables();
     // delete data from log tables
     $where = "WHERE idvisit <= ?";
     foreach ($logTables as $logTable) {
         // deleting from log_action must be handled differently, so we do it later
         if ($logTable != Common::prefixTable('log_action')) {
             Db::deleteAllRows($logTable, $where, "idvisit ASC", $this->maxRowsToDeletePerQuery, array($maxIdVisit));
         }
     }
     // delete unused actions from the log_action table (but only if we can lock tables)
     if (Db::isLockPrivilegeGranted()) {
         $this->purgeUnusedLogActions();
     } else {
         $logMessage = get_class($this) . ": LOCK TABLES privilege not granted; skipping unused actions purge";
         Log::warning($logMessage);
     }
     // optimize table overhead after deletion
     Db::optimizeTables($logTables);
 }
开发者ID:bossrabbit,项目名称:piwik,代码行数:34,代码来源:LogDataPurger.php

示例2: deleteGoal

 /**
  * Soft deletes a given Goal.
  * Stats data in the archives will still be recorded, but not displayed.
  *
  * @param int $idSite
  * @param int $idGoal
  * @return void
  */
 public function deleteGoal($idSite, $idGoal)
 {
     Piwik::checkUserHasAdminAccess($idSite);
     Db::query("UPDATE " . Common::prefixTable('goal') . "\n\t\t\t\t\t\t\t\t\t\tSET deleted = 1\n\t\t\t\t\t\t\t\t\t\tWHERE idsite = ?\n\t\t\t\t\t\t\t\t\t\t\tAND idgoal = ?", array($idSite, $idGoal));
     Db::deleteAllRows(Common::prefixTable("log_conversion"), "WHERE idgoal = ? AND idsite = ?", "idvisit", 100000, array($idGoal, $idSite));
     Cache::regenerateCacheWebsiteAttributes($idSite);
 }
开发者ID:brienomatty,项目名称:elmsln,代码行数:15,代码来源:API.php

示例3: deleteGoalConversions

 public function deleteGoalConversions($idSite, $idGoal)
 {
     $table = Common::prefixTable("log_conversion");
     Db::deleteAllRows($table, "WHERE idgoal = ? AND idsite = ?", "idvisit", 100000, array($idGoal, $idSite));
 }
开发者ID:dorelljames,项目名称:piwik,代码行数:5,代码来源:Model.php

示例4: purgeData

 /**
  * Purges old report/metric data.
  *
  * If $keepBasicMetrics is false, old numeric tables will be dropped, otherwise only
  * the metrics not in $metricsToKeep will be deleted.
  *
  * If $reportPeriodsToKeep is an empty array, old blob tables will be dropped. Otherwise,
  * specific reports will be deleted, except reports for periods in $reportPeriodsToKeep.
  *
  * @param bool $optimize If tables should be optimized after rows are deleted. Normally,
  *                       this is handled by a scheduled task.
  */
 public function purgeData($optimize = false)
 {
     // find archive tables to purge
     list($oldNumericTables, $oldBlobTables) = $this->getArchiveTablesToPurge();
     // process blob tables first, since archive status is stored in the numeric archives
     if (!empty($oldBlobTables)) {
         // if no reports should be kept, drop tables, otherwise drop individual reports
         if (empty($this->reportPeriodsToKeep) && !$this->keepSegmentReports) {
             Db::dropTables($oldBlobTables);
         } else {
             foreach ($oldBlobTables as $table) {
                 $where = $this->getBlobTableWhereExpr($oldNumericTables, $table);
                 if (!empty($where)) {
                     $where = "WHERE {$where}";
                 }
                 Db::deleteAllRows($table, $where, "idarchive ASC", $this->maxRowsToDeletePerQuery);
             }
             if ($optimize) {
                 Db::optimizeTables($oldBlobTables);
             }
         }
     }
     // deal with numeric tables
     if (!empty($oldNumericTables)) {
         // if keep_basic_metrics is set, empty all numeric tables of metrics to purge
         if ($this->keepBasicMetrics == 1 && !empty($this->metricsToKeep)) {
             $where = "WHERE name NOT IN ('" . implode("','", $this->metricsToKeep) . "') AND name NOT LIKE 'done%'";
             foreach ($oldNumericTables as $table) {
                 Db::deleteAllRows($table, $where, "idarchive ASC", $this->maxRowsToDeletePerQuery);
             }
             if ($optimize) {
                 Db::optimizeTables($oldNumericTables);
             }
         } else {
             Db::dropTables($oldNumericTables);
         }
     }
 }
开发者ID:KiwiJuicer,项目名称:handball-dachau,代码行数:50,代码来源:ReportsPurger.php

示例5: purgeData

 /**
  * Purges old report/metric data.
  *
  * If $keepBasicMetrics is false, old numeric tables will be dropped, otherwise only
  * the metrics not in $metricsToKeep will be deleted.
  *
  * If $reportPeriodsToKeep is an empty array, old blob tables will be dropped. Otherwise,
  * specific reports will be deleted, except reports for periods in $reportPeriodsToKeep.
  *
  * @param bool $optimize If tables should be optimized after rows are deleted. Normally,
  *                       this is handled by a scheduled task.
  */
 public function purgeData($optimize = false)
 {
     list($oldNumericTables, $oldBlobTables) = $this->getArchiveTablesToPurge();
     // process blob tables first, since archive status is stored in the numeric archives
     if (!empty($oldBlobTables)) {
         foreach ($oldBlobTables as $table) {
             $where = $this->getBlobTableWhereExpr($oldNumericTables, $table);
             if (!empty($where)) {
                 $where = "WHERE {$where}";
             }
             Db::deleteAllRows($table, $where, "idarchive ASC", $this->maxRowsToDeletePerQuery);
         }
         if ($optimize) {
             Db::optimizeTables($oldBlobTables);
         }
     }
     $this->segmentArchiveIds = null;
     if (!empty($oldNumericTables)) {
         foreach ($oldNumericTables as $table) {
             $conditions = array("name NOT LIKE 'done%'");
             $bind = array();
             if ($this->keepBasicMetrics && !empty($this->metricsToKeep)) {
                 $metricFields = Common::getSqlStringFieldsArray($this->metricsToKeep);
                 $bind = $this->metricsToKeep;
                 $conditions[] = sprintf("name NOT IN (%s)", $metricFields);
             }
             $keepWhere = $this->getBlobTableWhereExpr($oldNumericTables, $table);
             if (!empty($keepWhere)) {
                 $conditions[] = $keepWhere;
             }
             $where = 'WHERE ' . implode(' AND ', $conditions);
             Db::deleteAllRows($table, $where, "idarchive ASC", $this->maxRowsToDeletePerQuery, $bind);
         }
         if ($optimize) {
             Db::optimizeTables($oldNumericTables);
         }
     }
 }
开发者ID:dorelljames,项目名称:piwik,代码行数:50,代码来源:ReportsPurger.php


注:本文中的Piwik\Db::deleteAllRows方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。