Closed AlexeyDsov closed 9 years ago
вроде все правильно. пуляй.
У меня все равно не работает
$currentTimeZone = new DateTimeZone(date_default_timezone_get());
$now = new DateTime('2012-02-01', $currentTimeZone);
$zone = $now->format('O');
print_r($now);
echo $zone;
Получится на выходе:
DateTime Object
(
[date] => 2012-02-01 00:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
+0400
Все правильно, в 2012 Europe/Moscow имел зону +0400, как и надо. А вот если сделать new DateTime('now', $currentTimeZone);
, то уже будет +0300
Да, точно, туплю :+1: )
Раз уж дошли до мелких правок - предлагаю в test/config.inc.php.tpl
заменить
'MySQL' => array(
на
'MySQLim' => array(
Все таки deprecated уже
+1
2014-11-12 12:51 GMT+03:00 DeryabinSergey notifications@github.com:
Раз уж дошли до мелких правок - предлагаю в test/config.inc.php.tpl заменить
'MySQL' => array(
на
'MySQLim' => array(
Все таки deprecated уже
— Reply to this email directly or view it on GitHub https://github.com/onPHP/onphp-framework/pull/221#issuecomment-62693773.
И туда же тогда test/core/TruncateQueryTest.class.php
$myDialect = $this->getDbByType('MySQLim')->getDialect();
PS Погрепал - больше в коде не встречается
готово
Еще позанудствую немного )
Копался в истории, не нашел почему так, единственное что было из серьезных изменений - это что диалект перестал быть Singleton
Так вот в core/DB/MyImprovedDialect.class.php
в методе quoteValue
для получения коннекта используется $this->getLink()
(правда я не понял к чему комментарий: can't find better way atm.) а в методе quoteBinary
для получения коннекта используется DBPool::me()->getLink()->getLink()
. Первый вариант я так понимаю правильный, который стал обращаться к себе после того как диалект перестал быть Singleton
.
А еще в quoteBinary
забыли добавить кавычки для значения. В итоге по мне вместо
public function quoteBinary($data)
{
return mysqli_real_escape_string(DBPool::me()->getLink()->getLink(), $data);
}
Должно быть:
public function quoteBinary($data)
{
return "'".mysqli_real_escape_string($this->getLink(), $data)."'";
}
правда я не понял к чему комментарий: can't find better way atm.
Комментарий остался там от старого кода, когда он был:
// can't find better way atm.
DBPool::me()->getLink()->getLink(),
В quoteBinary внес исправления - 99223b8
Внезапно обнаружил что сломались savepoint'ы в MySQL. Добавил тест InnerTransactionDBTest::testSavepoint для обнаружения ошибки. Суть ошибки заключается в том что они не релизятся - пишет что не может найти указанный savepoint. На 99.99% уверен что ранее они работали. Особенно когда я реализовывал savepoint'ы, то помню что сначала сделал на MySQL и Postgres и только потом когда все работало прикрутил к SQLite.
У меня тесты с транзакциями не отрабатывают. Пока не могу сказать в чем дело, у меня проблема или нет, только завтра буду дальше смотреть
четверг, 13 ноября 2014 г. пользователь Alexey Denisov написал:
правда я не понял к чему комментарий: can't find better way atm.
Комментарий остался там от старого кода, когда он был:
// can't find better way atm.DBPool::me()->getLink()->getLink(),
В quoteBinary внес исправления - 99223b8 https://github.com/onPHP/onphp-framework/commit/99223b8a7c64f07254ddbb9f8ddba3bc71f2c948
Внезапно обнаружил что сломались savepoint'ы в MySQL. Добавил тест InnerTransactionDBTest::testSavepoint для обнаружения ошибки. Суть ошибки заключается в том что они не релизятся - пишет что не может найти указанный savepoint. На 99.99% уверен что ранее они работали. Особенно когда я реализовывал savepoint'ы, то помню что сначала сделал на MySQL и Postgres и только потом когда все работало прикрутил к SQLite.
— Reply to this email directly or view it on GitHub https://github.com/onPHP/onphp-framework/pull/221#issuecomment-62852468.
Все поправил вроде бы.
Че-то в тесте
$this->pool[$connector]->setDefaultEngine('INNODB');
Как-то глаз режет, может энджайны вынести в константы MySQLim
?
Я думаю в тестовом классе (а класс используется для тестов и находится в соотвествующей директории) такое можно себе позволить. Учитывая что onPHP не особо базы создает хорошо на данный момент, а эта настройка нужна только для такого случая, то, думаю, это можно и пережить.
Ну что, мержите уже )
готово. ветки master, 1.1, masterNs
Уже стянул, спасибо
понедельник, 24 ноября 2014 г. пользователь Alexey Denisov написал:
готово. ветки master, 1.1, masterNs
— Reply to this email directly or view it on GitHub https://github.com/onPHP/onphp-framework/pull/221#issuecomment-64159112.
Раз уж я добрался сегодня до исправлений, то решил так же внести несколько фиксов накопвшихся в локальном репозитории. Если возражений нет, то в ближайшие дни замержу.