deliFieldLeft = '`'; $this->deliFieldRight = '`'; $this->deliTableLeft = '`'; $this->deliTableRight = '`'; } public function concat($str1, $str2 = null) { return "concat(" . implode(', ', func_get_args()) . ")"; } /** * Given a SQL returns it with the proper LIMIT or equivalent method included * @param string $sql * @param int $start * @param int $qty * @return string */ public function limit($sql, $start, $qty = null) { if (is_null($qty)) { $qty = 50; } if (stripos($sql, ' LIMIT ') === false) { $sql = $sql . " LIMIT x, y"; } return preg_replace( '~(\s[Ll][Ii][Mm][Ii][Tt])\s.*?,\s*.*~', '$1 ' . $start .', ' .$qty, $sql ); } /** * Given a SQL returns it with the proper TOP or equivalent method included * @param string $sql * @param int $qty * @return string */ public function top($sql, $qty) { return $this->limit($sql, 0, $qty); } /** * Return if the database provider have a top or similar function * @return bool */ public function hasTop() { return true; } /** * Return if the database provider have a limit function * @return bool */ public function hasLimit() { return true; } /** * Format date column in sql string given an input format that understands Y M D * * @param string $format * @param string|null $column * @return string * @example $db->getDbFunctions()->SQLDate("d/m/Y H:i", "dtcriacao") */ public function sqlDate($format, $column = null) { if (is_null($column)) { $column = 'now()'; } $pattern = [ 'Y' => "%Y", 'y' => "%y", 'M' => "%b", 'm' => "%m", 'Q' => "", 'q' => "", 'D' => "%d", 'd' => "%e", 'h' => "%I", 'H' => "%H", 'i' => "%i", 's' => "%s", 'a' => "%p", 'A' => "%p", ]; $preparedSql = $this->prepareSqlDate($format, $pattern, ''); return sprintf( "DATE_FORMAT(%s,'%s')", $column, implode('', $preparedSql) ); } /** * @param DbDriverInterface $dbdataset * @param string $sql * @param array $param * @return int */ public function executeAndGetInsertedId(DbDriverInterface $dbdataset, $sql, $param) { $returnedId = parent::executeAndGetInsertedId($dbdataset, $sql, $param); $iterator = $dbdataset->getIterator("select LAST_INSERT_ID() id"); if ($iterator->hasNext()) { $singleRow = $iterator->moveNext(); $returnedId = $singleRow->get("id"); } return $returnedId; } public function hasForUpdate() { return true; } } __halt_compiler();----SIGNATURE:----HIqtYQ79W0gmAuIlJtRea2o/LMg/HHFkTpl0FreNCybljCHhg9eHKbIYzG+l4EYXUxXgrWzIPmYFhLLyxrXx9UGYUPcPOfHng+WIxY+dIkC9dypfTgMJI7RqJGjy1tI8+buEedAK6t4A3CcS1nxrXA9qJwpVVZC+ZzyDQ8yccKvEw57sT40MAklhLneR9BlwNXar3Yfa3Jh7R6MSeHc6YsJMJxj7b20i5f+1YQtZHG84tii21sz1rIYNzfs2lPGHd9uG62JpV9iH2rWWC/vjJkqTUjxex4rgw32Rg/niXxEkC/TTuFaPJJ5US51o3Z4SvQetvgKkfRl2JPpiHt6cDtvELz/nWwOwTac8zs2eyvrTBeYBn2bjhx2dDULfmGPSgC5E4mRPyn2j8YzUWZPLRANRH4y/ytAM6a5F4smPxsxzMBODvLZIjL3KIwuIlEHZBXPiWjNmRq5QjvNXqFdiEV/Khxmo84lMrrgKjxStIpvBGAQA5dZDP/zL80fk4BIE6iL5ZQxVotnLNxGE3j2Rb5YZGJmMiXVzYmCMUmYbjQ+QkTO+B6xPXNRbQaV/4nMEUTVA0eQwir9K3ugtEtEKIDBOdT+lk4mtMkJsb15lYB9prrOZiUy6gXVk8lYXC3WA39FHiLdhQtGVAol1s4C0vXZ6Si6Xtd65WQ8x/UXQzno=----ATTACHMENT:----NzI3Mzk2MzkyMzI5NjMxMSA0MDY0MDc4NDIzNzMxODcxIDYxMTIyOTI2NDU4MDUzMjU=