1<?php 2/* 3** Zabbix 4** Copyright (C) 2001-2021 Zabbix SIA 5** 6** This program is free software; you can redistribute it and/or modify 7** it under the terms of the GNU General Public License as published by 8** the Free Software Foundation; either version 2 of the License, or 9** (at your option) any later version. 10** 11** This program is distributed in the hope that it will be useful, 12** but WITHOUT ANY WARRANTY; without even the implied warranty of 13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14** GNU General Public License for more details. 15** 16** You should have received a copy of the GNU General Public License 17** along with this program; if not, write to the Free Software 18** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19**/ 20 21 22/** 23 * Database backend class for DB2. 24 */ 25class Db2DbBackend extends DbBackend { 26 27 /** 28 * Check if 'dbversion' table exists. 29 * 30 * @return boolean 31 */ 32 protected function checkDbVersionTable() { 33 global $DB; 34 35 $schema = zbx_dbstr(!empty($DB['SCHEMA']) ? $DB['SCHEMA'] : strtoupper($DB['USER'])); 36 $table_exists = DBfetch(DBselect( 37 'SELECT 1 FROM SYSCAT.TABLES'. 38 " WHERE TABNAME='DBVERSION'". 39 " AND TABSCHEMA=".$schema 40 )); 41 42 if (!$table_exists) { 43 $this->setError(_s('Unable to determine current Zabbix database version: %1$s.', 44 _s('the table "%1$s" was not found', 'dbversion') 45 )); 46 47 return false; 48 } 49 50 return true; 51 } 52 53 /** 54 * Check database and table fields encoding. 55 * 56 * @return bool 57 */ 58 public function checkEncoding() { 59 return true; 60 } 61} 62