Список изменений

Версия Дата Изменения
v2.0.0-beta4 31.08.2021
  1. Багфиксы
    • Если у php версия была ниже 8, то в функции all([...]) не работала агрегация (из за того, что 0 == ‘любой текст’ это true).
    • Если вызываются функции column() и map(), а предыдущий запрос вернул просто цифру (например при insert, update или delete), то теперь вместо ошибки функция возвращает false.
  2. У функций delete() и update() из-за предварительного select'а всех удаляемых/изменяемых записей (при большом их количестве) происходило переполнение памяти. Теперь функции возвращают просто количество этих удаляемых/изменяемых строк.
  3. Если функции delete('nameTable', true) передать вторым параметром именно true (===), то удаляются все записи из таблицы.
  4. Изменилась настройка дебага, теперь вместо 'debug' => ['isDebug' => true, 'maxNumberQuery' => 100] нужно писать 'debugQuery' => 100 или если необходимо отключить сбор информации для отладки, то указываем 'debugQuery' => 0.
    Так же можно изменить настройку в любом месте, вызвав функцию GP::configDebugQuery($numberQuery, $nameConnection).
  5. Реализована упрощенная запись функции where: where('/*wh*/', 2) === where('/*wh*/', ['id', '=', 2])
  6. Добавлена функция whereJoin()
  7. Добавлена функция inserts()
  8. Добавлена секретная функция whereDetailedSearch()
v2.0.0-beta3 13.07.2021
  1. Исправлена ошибка переполнения памяти. Если к БД идут десятки тысяч обращение, (например при синхронизации таблиц между разными БД) то была утечка памяти, связанная с пухнущим массивом логов для отладки (debugInfo()). Исправил, теперь в конфигах можно либо отключить сбор логов, либо ограничить, например по умолчанию сохраняются последние 100 запросов.
  2. Функция all() всегда возвращала массив с ключами в нижнем регистре. Исправил, теперь функция all() возвращает так как пришло из БД. Единственное исключение - агригация, в этом случае ключи массива всегда будут в нижнем регистре.
  3. Если библиотека GreenPig используется со старыми проектами у которых кодировка windows-1251, то с отображением сообщений об ошибках (от Exception) на русском будут проблемы. Самый безболезненные способ, это перевести все сообщения на английский, что и было сделано.
  4. Теперь функция count() возвращает числовой тип, а не строковый.
  5. Исправлен баг, при котором в функциях first/oneOrError('nameColumn'), если указать nameColumn, и значение ячейки будет 0 или '', то функция вернет null.
v2.0.0-beta2 02.07.2021 Убрал из зависимостей в composer.json: ext-pdo и ext-oci8. Т.к. может быть востребована только одна из зависимостей, а не обе сразу (мешает установке через composer).
v2.0.0-beta1 02.07.2021 Запуск проекта.