quoteIdentifiers = false; } if (isset($options['identifier_separator'])) { $this->identifierSeparator = $options['identifier_separator']; } } /** * {@inheritDoc} */ public function getName() { return 'IBM DB2'; } /** * {@inheritDoc} */ public function quoteIdentifierChain($identifierChain) { if ($this->quoteIdentifiers === false) { return (is_array($identifierChain)) ? implode($this->identifierSeparator, $identifierChain) : $identifierChain; } $identifierChain = str_replace('"', '\\"', $identifierChain); if (is_array($identifierChain)) { $identifierChain = implode('"' . $this->identifierSeparator . '"', $identifierChain); } return '"' . $identifierChain . '"'; } /** * {@inheritDoc} */ public function quoteValue($value) { if (function_exists('db2_escape_string')) { return '\'' . db2_escape_string($value) . '\''; } trigger_error( 'Attempting to quote a value in ' . __CLASS__ . ' without extension/driver support ' . 'can introduce security vulnerabilities in a production environment.' ); return '\'' . str_replace("'", "''", $value) . '\''; } /** * {@inheritDoc} */ public function quoteTrustedValue($value) { if (function_exists('db2_escape_string')) { return '\'' . db2_escape_string($value) . '\''; } return '\'' . str_replace("'", "''", $value) . '\''; } /** * {@inheritDoc} */ public function getIdentifierSeparator() { return $this->identifierSeparator; } }