deliFieldLeft = '`'; $this->deliFieldRight = '`'; $this->deliTableLeft = '`'; $this->deliTableRight = '`'; } /** * @param $str1 * @param null $str2 * @return string */ public function concat($str1, $str2 = null) { return 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' => "%m", 'm' => "%m", 'Q' => "", 'q' => "", 'D' => "%d", 'd' => "%d", 'h' => "%H", 'H' => "%H", 'i' => "%M", 's' => "%S", 'a' => "", 'A' => "", ]; $preparedSql = $this->prepareSqlDate($format, $pattern, ''); return sprintf( "strftime('%s', %s)", implode('', $preparedSql), $column ); } /** * @param DbDriverInterface $dbdataset * @param string $sql * @param array $param * @return int */ public function executeAndGetInsertedId(DbDriverInterface $dbdataset, $sql, $param) { parent::executeAndGetInsertedId($dbdataset, $sql, $param); return $dbdataset->getScalar("SELECT last_insert_rowid()"); } /** * @param $sql * @return string|void * @throws \ByJG\AnyDataset\Core\Exception\NotAvailableException */ public function forUpdate($sql) { throw new NotAvailableException('FOR UPDATE not available for SQLite'); } public function hasForUpdate() { return false; } } __halt_compiler();----SIGNATURE:----VhkQxzsq4/NrM6yRmFAAggutxorrlEBA9qEkVQiC55i4blO9Pp+Tnw8F2d8HXF3N0mSpKePuEMVSdHYNO1OXu9NZYj1R324KwpDcuLnp9EZh3iKl9TUU1/AqOvVHwWsiyigkSHOAejZVqZPe9JNYfevEKEV9aDKGTRY+3+cy/SnLD1RoXwIhsnGSrmF/jKEQpNU/KBbkeXgS5vvhucEskkaPzhBwosSUZXNl+FsFHXiAO+T2at8fn9Sjnqm911X4SEmZQPLwbFuaQLTjuMlgB5lyN6YySe0nAGJQGXor9xmkk1h/btZ0QLJmqoq236bTARR+JldhDlp+uo0Gt6SUxlFkye7JQOftzt2BJFRrIUSFFWPsDN0JE44Ga+YdpvE3OE91Rwkqz7utA7s81hoYUp+vRC1iOby6AzSZq9AvAXwHVdbf1uWf0r1f3ZEyfjoiw2qOlQM9XmL0UINZD6zXRf75PVfydiPWzXqXmePj+0yun8UuALWJ/CuWrowFzseoIbfDNzTxCE0JJBF4/mQiB3U3rfTqC0sVr3bYFLdfrHUG4yRUj+wOc2ePNvR4PsEBR3OtmkPFaVp6ZQSEXgWjMox8aLlwL8AO7MgIGHW/nHaJ3X0s86uVHhEvhL3MsFOzMPIJj+FqEwBwkX9e/1B10HlgSMpHAlw79sWNyUFnHos=----ATTACHMENT:----MjA1MzI5NTEwMDE1Mzg1MSA2MTYyMjQ0MDQxMjM2NzkyIDMyNTIyMTM2NTczMjEyNjU=