Commit graph

8432 commits

Author SHA1 Message Date
ng0
04f7a56fe8 Add databases/go-tiedot version 3.4
tiedot is a document database engine that uses JSON as document
notation; it has a powerful query processor that supports advanced set
operations; it can be embedded into your program, or run a stand-alone
server using HTTP for an API.

tiedot has fault-tolerant data structures that put your data safety
first, while easily scales to 4+ CPU cores.

tiedot has very stable performance, even with millions of records! It
consistently achieves high throughput - swallow more than 120k records
or 80k complicated queries per second with confidence.
2019-11-27 10:34:22 +00:00
wiz
d2faae4d33 hiredis: update to 0.14.0.
### 0.14.0

**Fixes**:

* Catch a buffer overflow when formatting the error message
* Import latest upstream sds. This breaks applications that are linked against the old hiredis v0.13
* Fix warnings, when compiled with -Wshadow
* Make hiredis compile in Cygwin on Windows, now CI-tested
* Bulk and multi-bulk lengths less than -1 or greater than `LLONG_MAX` are now
  protocol errors. This is consistent with the RESP specification. On 32-bit
  platforms, the upper bound is lowered to `SIZE_MAX`.

**BREAKING CHANGES**:

* Change `redisReply.len` to `size_t`, as it denotes the the size of a string

User code should compare this to `size_t` values as well.
If it was used to compare to other values, casting might be necessary or can be removed, if casting was applied before.

* Remove backwards compatibility macro's

This removes the following old function aliases, use the new name now:

| Old                         | New                    |
| --------------------------- | ---------------------- |
| redisReplyReaderCreate      | redisReaderCreate      |
| redisReplyReaderCreate      | redisReaderCreate      |
| redisReplyReaderFree        | redisReaderFree        |
| redisReplyReaderFeed        | redisReaderFeed        |
| redisReplyReaderGetReply    | redisReaderGetReply    |
| redisReplyReaderSetPrivdata | redisReaderSetPrivdata |
| redisReplyReaderGetObject   | redisReaderGetObject   |
| redisReplyReaderGetError    | redisReaderGetError    |

* The `DEBUG` variable in the Makefile was renamed to `DEBUG_FLAGS`

Previously it broke some builds for people that had `DEBUG` set to some arbitrary value,
due to debugging other software.
By renaming we avoid unintentional name clashes.

Simply rename `DEBUG` to `DEBUG_FLAGS` in your environment to make it working again.
2019-11-26 12:43:42 +00:00
adam
85fa674c6a py-peewee: updated to 3.12.0
3.12.0
* Bulk insert (`insert_many()` and `insert_from()`) will now return the row
  count instead of the last insert ID. If you are using Postgres, peewee will
  continue to return a cursor that provides an iterator over the newly-inserted
  primary-key values by default. This behavior is being retained by default for
  compatibility. Postgres users can simply specify an empty `returning()` call
  to disable the cursor and retrieve the rowcount instead.
* Migration extension now supports altering a column's data-type, via the new
  `alter_column_type()` method.
* Added `Database.is_connection_usabe()` method, which attempts to look at the
  status of the underlying DB-API connection to determine whether the
  connection is usable.
* Common table expressions include a `materialized` parameter, which can be
  used to control Postgres' optimization fencing around CTEs.
* Added `BloomFilter.from_buffer()` method for populating a bloom-filter from
  the output of a previous call to the `to_buffer()` method.
* Fixed APSW extension's `commit()` and `rollback()` methods to no-op if the
  database is in auto-commit mode.
* Added `generate_always=` option to the `IdentityField` (defaults to False).
2019-11-25 10:42:13 +00:00
mef
1bdf4398f9 Recursive revbump based on devel/cmocka 1.1.3 -> 1.1.5 2019-11-23 08:45:45 +00:00
adam
bb8cb38482 py-asyncpg: updated to 0.20.0
asyncpg v0.20.0

Improvements
Support Python 3.8
Support PgBouncer by sending only a single SYNC message per query

Bug Fixes
Handle IP values with prefix in "inet" type as ipaddress.IPvXInterface
Close transport if connection times out
Use faster UUID codecs; make UUID decoding/encoding/operations 2-7x faster
Use loop.start_tls() to upgrade connections to SSL

Build
Bump Cython to 0.29.14
2019-11-22 09:32:37 +00:00
adam
415beca862 py-multidict: updated to 4.6.1
4.6.1:
Bugfixes
- Fix PyPI link for GitHub Issues badge.

4.6.0:
Bugfixes
- Fix GC object tracking.
- Preserve the case of `istr` strings.
- Generate binary wheels for Python 3.8.
2019-11-22 09:22:42 +00:00
adam
7d802ef4c2 py-mysqlclient: updated to 1.4.6
What's new in 1.4.6
The cp1252 encoding is used when charset is "latin1".
2019-11-21 20:34:21 +00:00
adam
de40a1c060 redis: updated to 5.0.7
Hi all, Redis 5.0.7 fixes a number of bugs, none is very critical, however
there are a few that may have an impact. It's a good idea to upgrade.
There are fixes in the area of replication from modules commands and
callbacks, AOF fsync (non critical issue), memory leaks (very rare and small),
streams beahvior (non critical), and a potential crash in commands
processing multiple keys at the same time that is there for years, and happens
very rarely, but is not impossible to trigger.
2019-11-20 09:43:28 +00:00
schmonz
dba4550447 Add missing PLIST entry for nls (cs/pg_verify_checksums-11.mo). 2019-11-19 18:42:41 +00:00
adam
0959394a53 postgresql12: reset revision 2019-11-19 05:56:20 +00:00
adam
e9ff0aa152 postgresqlNN: updated to 12.1, 11.6, 10.11, 9.6.16, 9.5.20, and 9.4.25
PostgreSQL 12.1, 11.6, 10.11, 9.6.16, 9.5.20, and 9.4.25 Released!

PostgreSQL 9.4 EOL Approaching

PostgreSQL 9.4 will stop receiving fixes on February 13, 2020, which is the next planned cumulative update release. Please see our versioning policy for more information.

Bug Fixes and Improvements

This update also fixes over 50 bugs that were reported in the last several months. Some of these issues affect only version 12, but may also affect all supported versions.

Some of these fixes include:

Fix crash that occurs when ALTER TABLE adds a column without a default value along with other changes that require a table rewrite
Several fixes for REINDEX CONCURRENTLY.
Fix for VACUUM that would cause it to fail under a specific case involving a still-running transaction.
Fix for a memory leak that could occur when VACUUM runs on a GiST index.
Fix for an error that occurred when running CLUSTER on an expression index.
Fix failure for SET CONSTRAINTS ... DEFERRED on partitioned tables.
Several fixes for the creation and dropping of indexes on partitioned tables.
Fix for partition-wise joins that could lead to planner failures.
Ensure that offset expressions in WINDOW clauses are processed when a query's expressions are manipulated.
Fix misbehavior of bitshiftright() where it failed to zero out padding space in the last byte if the bit string length is not a multiple of 8. For how to correct your data, please see the "Updating" section.
Ensure an empty string that is evaluated by the position() functions returns 1, as per the SQL standard.
Fix for a parallel query failure when it is unable to request a background worker.
Fix crash triggered by a case involving a BEFORE UPDATE trigger.
Display the correct error when a query tries to access a TOAST table.
Allow encoding conversion to succeed on strings with output up to 1GB. Previously there was hard limit of 0.25GB on the input string.
Ensure that temporary WAL and history files are removed at the end of archive recovery.
Avoid failure in archive recovery if recovery_min_apply_delay is enabled.
Ignore restore_command, recovery_end_command, and recovery_min_apply_delay settings during crash recovery.
Several fixes for logical replication, including a failure when the publisher and subscriber had different REPLICA IDENTITY columns set.
Correctly timestamp replication messages for logical decoding, which in the broken case would lead to pg_stat_subscription.last_msg_send_time set to NULL.
Several fixes for libpq, including one that improves PostgreSQL 12 compatibility.
Several pg_upgrade fixes.
Fix how a parallel restore handles foreign key constraints on partitioned tables to ensure they are not created too soon.
pg_dump now outputs similarly named triggers and RLS policies in order based on table name, instead of OID.
Fix pg_rewind to not update the contents of pg_control when using the --dry-run option.

This update also contains tzdata release 2019c for DST law changes in Fiji and Norfolk Island. Historical corrections for Alberta, Austria, Belgium, British Columbia, Cambodia, Hong Kong, Indiana (Perry County), Kaliningrad, Kentucky, Michigan, Norfolk Island, South Korea, and Turkey.
2019-11-19 05:54:51 +00:00
markd
3e40bb14ec databases: add kldap 2019-11-17 05:48:43 +00:00
markd
331c2d0651 kldap: add version 19.08.3
LDAP access API for KDE
2019-11-17 05:47:49 +00:00
ng0
c46b40fd9a guile-sqlite3: remove unnecessary LANGUAGES from Makefile. 2019-11-15 15:57:51 +00:00
adam
b667e0ed2c py-mysqlclient: updated to 1.4.5
What's new in 1.4.5
* The ``auth_plugin`` option is added.

What's new in 1.4.4
* ``charset`` option is passed to ``mysql_options(mysql, MYSQL_SET_CHARSET_NAME, charset)``
  before ``mysql_real_connect`` is called.
  This avoid extra ``SET NAMES <charset>`` query when creating connection.

What's new in 1.4.3
* ``--static`` build supports ``libmariadbclient.a``
* Try ``mariadb_config`` when ``mysql_config`` is not found
* Fixed warning happend in Python 3.8
* Fixed ``from MySQLdb import *``, while I don't recommend it.
* Fixed SEGV ``MySQLdb.escape_string("1")`` when libmariadb is used and
  no connection is created.
* Fixed many circular references are created in ``Cursor.executemany()``.

What's new in 1.4.2
* Fix Django 1.11 compatibility.
  mysqlclient 1.5 will not support Django 1.11.  It is not because
  mysqlclient will break backward compatibility, but Django used
  unsupported APIs and Django 1.11 don't fix bugs including
  compatibility issues.

What's new in 1.4.1
* Fix dict parameter support

What's new in 1.4.0
* Dropped Python 3.4 support.
* Removed ``threadsafe`` and ``embedded`` build options.
* Remove some deprecated cursor classes and methods.
* ``_mysql`` and ``_mysql_exceptions`` modules are moved under
  ``MySQLdb`` package.
* Remove ``errorhandler`` from Connection and Cursor classes.
* Remove context manager API from Connection.  It was for transaction.
  New context manager API for closing connection will be added in future version.
* Remove ``waiter`` option from Connection.
* Remove ``escape_sequence``, and ``escape_dict`` methods from Connection class.
* Remove automatic MySQL warning checking.
* Drop support for MySQL Connector/C with MySQL<5.1.12.
* Remove ``_mysql.NULL`` constant.
* Remove ``_mysql.thread_safe()`` function.
* Support non-ASCII field name with non-UTF-8 connection encoding.
* Optimize decoding speed of string and integer types.
* Remove ``MySQLdb.constants.REFRESH`` module.
* Remove support for old datetime format for MySQL < 4.1.
* Fix wrong errno is raised when ``mysql_real_connect`` is failed.

What's new in 1.3.14
* Support static linking of MariaDB Connector/C
* Better converter for Decimal and Float
* Add ``Connection._get_native_connection`` for XTA project
* Fix SEGV on MariaDB Connector/C when some methods of ``Connection``
  objects are called after ``Connection.close()`` is called.
* Fix ``Connection.client_flag``
* Fix SSCursor may raise same exception twice
  * This removed ``Cursor._last_executed`` which was duplicate of ``Cursor._executed``.
    Both members are private.  So this type of changes are not documented in changelog
    generally.  But Django used the private member for ``last_executed_query`` implementation.
    If you use the method the method directly or indirectly, this version will break
    your application.  See https://code.djangoproject.com/ticket/30013
* ``waiter`` option is now deprecated.
* Fixed SSL support is not detected when built with MySQL < 5.1
2019-11-14 17:26:16 +00:00
adam
ff69def0db mysql57-client: add a patch for cmake/ssl.cmake taken from mysql56-client 2019-11-14 16:59:38 +00:00
adam
ece7483a6c perl5: updated to 5.30.1
what is new for perl v5.30.1

Incompatible Changes
       There are no changes intentionally incompatible with 5.30.1.  If any
       exist, they are bugs, and we request that you submit a report.  See
       "Reporting Bugs" below.

Modules and Pragmata
   Updated Modules and Pragmata
       o   Module::CoreList has been upgraded from version 5.20190522 to
           5.20191110.

Documentation
   Changes to Existing Documentation
       We have attempted to update the documentation to reflect the changes
       listed in this document.  If you find any we have missed, send email to
       perlbug@perl.org <mailto:perlbug@perl.org>.

       Additionally, documentation has been updated to reference GitHub as the
       new canonical repository and to describe the new GitHub pull request
       workflow.

Configuration and Compilation
       o   The "ECHO" macro is now defined.  This is used in a "dtrace" rule
           that was originally changed for FreeBSD, and the FreeBSD make
           apparently predefines it.  The Solaris make does not predefine
           "ECHO" which broke this rule on Solaris.

Testing
       Tests were added and changed to reflect the other additions and changes
       in this release.

Platform Support
   Platform-Specific Notes
       Win32
           The locale tests could crash on Win32 due to a Windows bug, and
           separately due to the CRT throwing an exception if the locale name
           wasn't validly encoded in the current code page.

           For the second we now decode the locale name ourselves, and always
           decode it as UTF-8.

Selected Bug Fixes
       o   Setting $) now properly sets supplementary group ids, if you have
           the necessary privileges.

       o   "readline @foo" now evaluates @foo in scalar context.  Previously,
           it would be evaluated in list context, and since readline() pops
           only one argument from the stack, the stack could underflow, or be
           left with unexpected values on it.

       o   sv_gets() now recovers better if the target SV is modified by a
           signal handler.

       o   Matching a non-"SVf_UTF8" string against a regular expression
           containing Unicode literals could leak an SV on each match attempt.

       o   "sprintf("%.*a", -10000, $x)" would cause a buffer overflow due to
           mishandling of the negative precision value.

       o   "scalar()" on a reference could cause an erroneous assertion
           failure during compilation.
2019-11-14 09:56:56 +00:00
ng0
d2397e95c0 Add databases/guile-sqlite3 version 0.1.0
Guile bindings for the SQLite3 database engine.
2019-11-13 12:52:25 +00:00
adam
9db1ebe8ac redis: updated to 5.0.6
Redis 5.0.6

Upgrade urgency CRITICAL: Only in case of exposed instances to untrusted users.

This Redis release, 5.0.6, is a bugfix and enhancement release. The most
important bugfix is a corruption related to the HyperLogLog. A malformed
HyperLogLog string could cause an invalid access to the memory. At a first
glance the vulnerability appears to be not exploitable but just a DoS. The
way to trigger the issue is complex, we'll not provide any information about
how to do that for the users safety.

Other significant changes in this release:
* New modules APIs merged from Redis unstable to Redis 5.
* Some memory optimization related to objects creation.
* Fixes to flushSlaveOutputBuffer() that make sure that SHUTDOWN will
  transfer pending buffers to replicas.
2019-11-11 17:06:00 +00:00
adam
dd5c39ea64 ldb: updated to 2.0.7
2.0.7:
Unknown changes
2019-11-10 16:58:06 +00:00
ng0
b05ccc5db4 Add databases/go-sqlite3 version 1.11.0
Go-sqlite3 is a sqlite3 driver conforming to the built-in
database/sql interface.
2019-11-10 14:42:43 +00:00
adam
b9077622c8 prometheus: updated to 2.13.1
2.13.1:
[BUGFIX] Fix panic in ARM builds of Prometheus.
[BUGFIX] promql: fix potential panic in the query logger.
[BUGFIX] Multiple errors of http: superfluous response.WriteHeader call in the logs.
2019-11-09 23:12:05 +00:00
jperkin
c00f92c14c *: Move GCC_REQD above bsd.prefs.mk where possible. 2019-11-09 20:01:14 +00:00
adam
2c30389672 py-apsw: updated to 3.30.1
3.30.1-r1
Added constants:
  SQLITE_DBCONFIG_ENABLE_VIEW
Updated hashing of SQL statements
Python 3.8 Windows binaries available.
2019-11-06 15:46:51 +00:00
rillig
a61b7cd31b databases/pgtclng: fix pkglint warnings 2019-11-02 15:46:05 +00:00
rillig
b4f1862849 databases: align variable assignments
pkglint -Wall -F --only aligned -r

No manual corrections.
2019-11-02 15:37:59 +00:00
taca
94444961b8 databases/ruby-sequel: update to 5.26.0
Update ruby-sequel to 5.26.0.

=== 5.26.0 (2019-11-01)

* Recognize two additional foreign key constraint violation codes on MySQL 8.0.13+ (rianmcguire) (#1657)

* Support table aliases for single-table INSERT statements on PostgreSQL 9.5+ (jeremyevans) (#1656)

* Implement Sequel::Postgres::PGRange#hash so instances work correctly in hashes (jeremyevans) (#1648)

* Make dirty plugin work correctly with typecast_on_load plugin (jeremyevans) (#1647)

* Add support for :require_modification option when setting up nested_attributes (jeremyevans)

* Add support for SQL/JSON path expressions to the pg_json_ops extension, supported by PostgreSQL 12+ (jeremyevans)
2019-11-02 14:26:04 +00:00
mef
8fcabb5d43 (databases/p5-BerkeleyDB) Updated from 0.55 to 0.63
0.63  21 July 2019

        * added 000preret.t
          Dump version info in "make test"

0.62  20 July 2019

        * default to /usr/local/BerkeleyDB
          fcc0ad8adf310f7c8cc65788806439f2f8c39f90

        * __heap_exist prototype needed for db 5.2 or better
          7fe4ad8d74190d7f41a816c79e5ccf044c02c7c9

        * t/joint.: Silence Valgrinf
          https://rt.cpan.org/Ticket/Display.html?id=125605
          40d03924570f8516efe4a05982f402e8ce569637

        * db_remove missing txn code
          https://rt.cpan.org/Ticket/Display.html?id=124979
          b91875a9f3f55bb779ad7a448c9fff0645d8a527

        * Fix test failure when TRACE is enabled
          bb80b7d0fb83643ccddd8243d4c6b6ab637428df

        * Added BERKELEYDB_DEFINE_TRACE variable to allow TRACE to be enabled
          from .travis file.
          bd9ebf5aa149172afab55d6ba6f27d77cf08d91a

        * Add test with BERKELEYDB_DEFINE_TRACE set to .travis
          000b1d8dffe542d6476fe78f218cc95534f1c1c3

        * my_db_strerror: Add missing dTHX declaration
          Merge pull request https://github.com/pmqs/BerkeleyDB/pull/2
          4273345d8eff5f521788b3c5e71fb291bf46a646
          80ca9b77968ab84aaf8b546f2933d135202e16e0

        * create .appveyor.yml
          4e7b034ddbe76a7c2dcd189e1e0c935c1559aa2c

        * sync dbinfo from DB_File
          27b499fa9dbfca78adcc7a12ada43f0b05b6ece6

0.61  30 March 2019

        * Fix a couple of typos
          One's a copyright date out by 20 years.
          The other one breaks builds with 5.2 竕、 BDB < 6.2.
          Merge pull request https://github.com/pmqs/BerkeleyDB/pull/1

0.60  30 March 2019
        * Moved source to github https://github.com/pmqs/BerkeleyDB

        * Add META_MERGE to Makefile.PL

        * Added meta-json.t & meta-yaml.t

0.58  23 January 2018

        * please expose set_lg_filemode
          [RT #124979]

0.57  23 January 2018

        * Updates for BDB 6.3

0.56  5 January 2016

        * Updates for BDB 6.2
2019-11-02 13:31:51 +00:00
triaxx
1110d4fb99 postgresql94: fix broken gettext detection 2019-10-31 21:33:35 +00:00
jperkin
9979eda598 mysql57: Disable HAVE_SOLARIS_LARGE_PAGES.
The current code uses functions that are only available in newer releases of
Oracle Solaris, so disable for now to fix illumos and others.  This could be
improved with proper feature tests.
2019-10-31 12:04:22 +00:00
kamil
3b613d1ee1 luma: Retired
Upstream long dead. This package used to depend on obsolete libraries (Qt4).
2019-10-30 12:31:11 +00:00
kamil
cd8a42c410 -luma 2019-10-30 12:27:20 +00:00
jperkin
43a476de3d couchdb: Fix variable expansion in couchdb.in.
Should help fix joyent/pkgsrc#229, bump PKGREVISION.
2019-10-28 15:43:24 +00:00
adam
63109d12ef repmgr: updated to 5.0.0
repmgr 5.0 is a major release.
* Configuration file parsing has been made stricter
* Some "repmgr daemon ..." commands renamed
* Some deprecated command line options removed
* Support for PostgreSQL 12 added.
* The repmgr configuration file is now parsed using flex, meaning it will be parsed in the same way as PostgreSQL parses its own configuration files.
* repmgr standby clone: checks for availability of the repmgr extension on the upstream node have been improved and error messages improved.
* When executing repmgr remotely, if the repmgr log level was explicitly provided (with -L/--log-level), that log level will be passed to the remote repmgr.
* Bug fixes
2019-10-26 23:39:04 +00:00
kamil
54e2d4fe53 sqliteman: Eliminate
Upstream dead, never migrated out of qt4.
2019-10-26 15:20:42 +00:00
kamil
88e7b905bd -sqliteman 2019-10-26 15:18:37 +00:00
triaxx
3604f34a4f postgresql12: fix broken gettext detection 2019-10-25 12:42:55 +00:00
triaxx
790e5989b7 postgresql11: fix broken gettext detection 2019-10-25 12:16:06 +00:00
triaxx
f8c7c3be2f postgresql10: make nls support optional 2019-10-25 12:01:19 +00:00
triaxx
f190cb76d7 postgresql12: fix nls option support 2019-10-25 08:01:10 +00:00
triaxx
3d19cae7aa postgresql11: fix nls option support 2019-10-25 08:00:46 +00:00
triaxx
703e097374 postgresql12: make nls option on by default 2019-10-25 07:16:28 +00:00
triaxx
6f0516d1f8 postgresql11: make nls option on by default 2019-10-25 07:15:40 +00:00
triaxx
2c3cdebbe0 postgresql11: make nls support optional 2019-10-25 04:39:18 +00:00
triaxx
f6a02f8388 postgresql12: make nls support optional 2019-10-24 07:57:13 +00:00
taca
3852529f3e databases/ruby-sequel: update to 5.25.0
Update ruby-sequel to 5.25.0.

=== 5.25.0 (2019-10-01)

* Fix Sequel::SQL::NumericMethods#coerce to not raise NoMethodError if super method is not defined (jeremyevans) (#1645)

* Allow setting a default for a column that already has a default on Microsoft SQL Server (jeremyevans)

* Fix keyword argument separation warnings on Ruby master branch in csv_serializer plugin (jeremyevans)

* Add association_multi_add_remove plugin for adding/removing multiple associated objects in a single method call (AlexWayfer, jeremyevans) (#1641, #1643)

* Make sharding plugin integrate with server_block extension (jeremyevans)
2019-10-23 16:13:22 +00:00
taca
3dde711b2b databases/ruby-moneta: update to 1.2.0
1.2.0

* Adapters::Sequel - fix for compatibility with new version of JDBC SQLite
* Adapters::Couch - refactor of error handling, #clear, #merge!, #slice, rev caching
* Fallback - add fallback proxy (#162)
* Pool - rewrite to enable limiting of size, gradual shrinking
* Enumerable - add proxy providing Enumerable API (using #each_key)
* Adapters::Couch, Adapters::RestClient - add Faraday :adapter option
* Adapters::Couch - add :full_commit and :batch options to some operations
* Adapters::LRUHash - rewrite to take advantage of ordered hashes
* Adapters::ActiveRecord - recover from deadlock during increment
2019-10-23 16:12:04 +00:00
taca
6d5dde14ea databases/ruby-hiera: update to 3.6.0
Update ruby-hiera to 3.6.0

No change except version.
2019-10-23 16:09:16 +00:00
adam
b48b04a874 Switch sphinx to versioned deps. 2019-10-21 21:19:35 +00:00
adam
9d88249380 py-psycopg2: updated to 2.8.4
Psycopg 2.8.4

The release brings a few assorted bugfixes and adds support for Python 3.8 and PostgreSQL 12.

A more detailed changes list is
* Fixed building with Python 3.8.
* Don't swallow keyboard interrupts on connect when a password is specified in the connection string.
* Don't advance replication cursor when the message wasn't confirmed.
* Fixed inclusion of time.h on linux.
* Fixed int overflow for large values in Column.table_oid and Column.type_code.
* errorcodes map and errors classes updated to PostgreSQL 12.
* Wheel package compiled against OpenSSL 1.1.1d and PostgreSQL at least 11.4.
2019-10-21 11:31:22 +00:00