Skip to content

Tags: terwanerik/postgres-kit

Tags

2.0.0-alpha.1

Toggle 2.0.0-alpha.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
alpha (vapor#138)

* alpha

* updates

* updates

1.4.1

Toggle 1.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Significantly improve performance of row decoding. (vapor#130) (vapor…

…#134)

* Significantly improve performance of row decoding.

Motivation:

1. `PostgreSQLRowDecoder`: `_KeyedDecodingContainer.decode` is called once for each key on the decoded object. With the current implementation, this performs a linear search on the `row` dictionary, which results in a total runtime (per object) of O(keys * columns), i.e. quadratic runtime ~O(keys^2). We replace the current linear search with one or two dictionary lookups if `tableOID != 0`, resulting in linear runtime (per object) in the number of keys (provided dictionary lookups can be assumed to take roughly constant time).
2. `PostgreSQLConnection.TableNameCache`: Most lookups are `tableName -> OID`. We accelerate that lookup by preparing a dictionary for that kind of lookup ahead of time, again replacing linear search.

Effect:

The time required for decoding ~5k objects with 9 fields each drops from ~0.4s on a Core i7-6700k (Release build) to ~0.2s, effectively doubling throughput. Optimization 1 contributes ~130 ms, Optimization 2 contributes ~70ms.

* Whitespace fixes.

* Comment fix.

* More whitespace, sorry.

* Implement `decodeIfPresent` to avoid two dictionary lookups per call.

* Minor code simplification.

1.4.0

Toggle 1.4.0's commit message
added polygon data-type (vapor#129)

* added polygon data-type

* added polygon data-type

* added tests for polygon

* fixed polygon typos

1.3.0

Toggle 1.3.0's commit message
add endiannessflipped

1.2.2

Toggle 1.2.2's commit message
Fix empty keyed encoding (vapor#123)

* Add test for empty keyed encoding

* Replace _KeyedError with a flag that is set as soon as a keyed container is requested

The encoder will fallback to JSONB using JSONEncoder even if the encoded type does not encode any key.

1.2.1

Toggle 1.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request vapor#121 from vapor/nio-ssl-fix

add nio ssl as explicit dep

1.2.0

Toggle 1.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request vapor#119 from docterd/missing_array_operators

Add missing array operators

1.1.2

Toggle 1.1.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request vapor#111 from michal-tomlein/numeric-zeros-bug

Fix zeros stripped in conversion from numeric

1.1.1

Toggle 1.1.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request vapor#106 from baarde/sql-dependency-2.1

Update SQL dependency to 2.1.0

1.1.0

Toggle 1.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request vapor#89 from vapor/refresh-table-names

allow table name refresh