pdf viewer for asp.net web application : Add image to pdf file application software utility azure windows html visual studio postgresql-9.4-A4236-part2875

Appendix E. Release Notes
In
numeric_recv()
,truncate away any fractional digits that would be hidden according to the
value’s
dscale
field (Tom Lane)
A
numeric
value’s display scale (
dscale
)should never be less than the number of nonzero frac-
tional digits; but apparently there’s at least one broken client application that transmits binary
numeric
values in which that’s true. This leads to strange behavior since the extra digits are taken
into account by arithmetic operations even though they aren’t printed. The least risky fix seems to
be to truncate away such “hidden” digits on receipt, so that the value is indeed what it prints as.
Reject out-of-range numeric timezone specifications (Tom Lane)
Simple numeric timezone specifications exceeding +/- 168 hours (one week) would be accepted,
but could then cause null-pointer dereference crashes in certain operations. There’s nouse-case for
such large UTC offsets, so reject them.
Fix bugs in
tsquery @> tsquery
operator (Heikki Linnakangas)
Two different terms would be considered to match if they had the same CRC. Also, if the second
operand had more terms than the first, it would be assumed not to be contained in the first; which
is wrong since it might contain duplicate terms.
Improve ispell dictionary’s defenses against bad affix files (Tom Lane)
Allow more than 64K phrases in a thesaurus dictionary (David Boutin)
The previous coding could crash on an oversize dictionary, so this was deemed a back-patchable
bug fix rather than a feature addition.
Fix namespace handling in
xpath()
(Ali Akbar)
Previously, the
xml
value resulting from an
xpath()
call would not have namespace declarations
if the namespace declarations were attached to an ancestor element in the input
xml
value, rather
than to the specific element being returned. Propagate the ancestral declaration so that the result is
correct when considered inisolation.
Fix planner problems with nested append relations, such as inherited tables within
UNION ALL
subqueries (Tom Lane)
Fail cleanly when a GiST index tuple doesn’t fit on a page, rather thangoing into infinite recursion
(Andrew Gierth)
Exempt tables that have per-table
cost_limit
and/or
cost_delay
settings from autovacuum’s
global cost balancing rules (Álvaro Herrera)
The previous behavior resulted in basically ignoringtheseper-table settings, which was unintended.
Now, a table having such settings will be vacuumed using those settings, independently of what is
going on in other autovacuum workers. This may result in heavier total I/O load than before, so
such settings should be re-examined for sanity.
Avoid wholesale autovacuuming when autovacuum is nominally off (Tom Lane)
Even when autovacuum is nominally off, we will still launch autovacuum worker processes to
vacuum tables that are at risk of XID wraparound. However, such a worker process then proceeded
to vacuum all tables in the targetdatabase, if they met the usual thresholds for autovacuuming. This
is at best pretty unexpected; at worst it delays response to the wraparound threat. Fix it so that if
autovacuum is turned off, workers only do anti-wraparound vacuums and not any other work.
Fix race condition betweenhot standby queries and replaying a full-page image (Heikki Linnakan-
gas)
This mistake could result intransient errors inqueries being executed in hot standby.
2288
Add image to pdf file - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
add a picture to a pdf; how to add an image to a pdf file in acrobat
Add image to pdf file - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
add picture to pdf preview; add image to pdf preview
Appendix E. Release Notes
Fix several cases where recovery logic improperly ignored WAL records for
COMMIT/ABORT
PREPARED
(Heikki Linnakangas)
The most notable oversight was that
recovery_target_xid
could not be used to stop at a two-
phase commit.
Avoid creating unnecessary
.ready
marker files for timeline history files (Fujii Masao)
Fix possible null pointer dereference when an empty prepared statement is used and the
log_statement
setting is
mod
or
ddl
(Fujii Masao)
Change “pgstat wait timeout” warning message tobe LOG level, and rephrase it tobe more under-
standable (Tom Lane)
This message was originally thought to be essentially a can’t-happen case, but it occurs often
enough on our slower buildfarm members to be a nuisance. Reduce it to LOG level, and expend a
bit more effort on the wording: it now reads “using stale statistics instead of current ones because
stats collector is not responding”.
Fix SPARC spinlock implementation to ensure correctness if the CPU is being run in a non-TSO
coherency mode, as some non-Solaris kernels do (Andres Freund)
Warn if OS X’s
setlocale()
starts an unwanted extra threadinside the postmaster (NoahMisch)
Fix processing of repeated
dbname
parameters in
PQconnectdbParams()
(Alex Shulgin)
Unexpected behavior ensuedif thefirst occurrence of
dbname
contained aconnectionstringor URI
to be expanded.
Ensurethatlibpqreports a suitable error message on unexpected socket EOF (MarkoTiikkaja, Tom
Lane)
Depending on kernel behavior, libpq might return an empty error string rather than something
useful when the server unexpectedly closed the socket.
Clear any old error message during
PQreset()
(Heikki Linnakangas)
If
PQreset()
is called repeatedly, and the connection cannot be re-established, error messages
from the failed connection attempts kept accumulating in the
PGconn
’s error string.
Properly handle out-of-memory conditions while parsing connection options in libpq (Alex
Shulgin, Heikki Linnakangas)
Fix array overrun in ecpg’s version of
ParseDateTime()
(Michael Paquier)
In initdb, give a clearer error message if a password file is specified but is empty (Mats Erik An-
dersson)
Fixpsql’s
\s
commandtoworknicely with libedit, andadd pager support (StepanRutz, Tom Lane)
When using libedit rather than readline,
\s
printed the command history in a fairly unreadable
encoded format, and onrecent libedit versions might fail altogether. Fixthatby printing the history
ourselves rather than having the library do it. A pleasant side-effect is that the pager is used if
appropriate.
This patch also fixes a bug that caused newline encoding to be applied inconsistently when saving
the command history with libedit. Multiline history entries written by older psql versions will be
read cleanly with this patch, but perhaps not vice versa, depending on the exact libedit versions
involved.
Improve consistency of parsing of psql’s special variables (Tom Lane)
Allow variant spellings of
on
and
off
(such as
1
/
0
)for
ECHO_HIDDEN
and
ON_ERROR_ROLLBACK
.
Report a warning for unrecognized values for
COMP_KEYWORD_CASE
,
ECHO
,
ECHO_HIDDEN
,
2289
VB.NET PDF Password Library: add, remove, edit PDF file password
This VB.NET example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = True ' Add password to PDF file.
add jpg to pdf form; add picture to pdf form
C# PDF Password Library: add, remove, edit PDF file password in C#
This example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = true; // Add password to PDF file.
add a picture to a pdf file; how to add image to pdf reader
Appendix E. Release Notes
HISTCONTROL
,
ON_ERROR_ROLLBACK
, and
VERBOSITY
. Recognize all values for all
these variables case-insensitively; previously there was a mishmash of case-sensitive and
case-insensitive behaviors.
Fix psql’s expanded-mode display towork consistently when using
border
=3 and
linestyle
=
ascii
or
unicode
(Stephen Frost)
Fix possible deadlock during parallel restore of a schema-only dump (Robert Haas, Tom Lane)
Fix core dump in
pg_dump --binary-upgrade
on zero-column composite type (Rushabh
Lathia)
Fix block number checking in
contrib/pageinspect
’s
get_raw_page()
(Tom Lane)
The incorrect checkinglogic could prevent access to some pages in non-main relation forks.
Fix
contrib/pgcrypto
’s
pgp_sym_decrypt()
to not fail on messages whose length is 6 less
than a power of 2 (Marko Tiikkaja)
Handle unexpected query results, especially NULLs, safely in
contrib/tablefunc
’s
connectby()
(Michael Paquier)
connectby()
previously crashed if it encountered a NULL key value. It now prints that row but
doesn’t recurse further.
Avoid a possible crash in
contrib/xml2
’s
xslt_process()
(Mark Simonetti)
libxslt seems to have an undocumented dependency on the order in which resources are freed;
reorder our calls to avoid a crash.
Numerous cleanups of warnings from Coverity static code analyzer (Andres Freund, Tatsuo Ishii,
Marko Kreen, Tom Lane, Michael Paquier)
These changes are mostly cosmetic but in some cases fix corner-case bugs, for example a crash
rather than a proper error report after an out-of-memory failure. None are believed to represent
security issues.
Detect incompatible OpenLDAP versions during build (Noah Misch)
With OpenLDAP versions 2.4.24through 2.4.31, inclusive, PostgreSQL backends can crash atexit.
Raise a warning during configure based on the compile-time OpenLDAP version number, and test
the crashing scenario in the
contrib/dblink
regression test.
In non-MSVC Windows builds, ensure
libpq.dll
is installed with execute permissions (Noah
Misch)
Make pg_regress remove any temporary installation it created upon successful exit (Tom Lane)
This results in a very substantial reduction in disk space usage during
make check-world
,since
that sequence involves creation of numerous temporary installations.
Support time zone abbreviations that change UTC offset from time to time (Tom Lane)
Previously, PostgreSQL assumed that the UTC offset associated with a time zone abbreviation
(such as
EST
)never changes in the usage of any particular locale. However this assumption fails
in the real world, so introduce the ability for a zone abbreviation to represent a UTC offset that
sometimes changes. Update the zone abbreviation definition files to make use of this feature in
timezone locales that have changed the UTC offset of their abbreviations since 1970 (according to
the IANA timezone database). In such timezones, PostgreSQL will now associate the correct UTC
offset with the abbreviation dependingon the given date.
Update time zone abbreviations lists (Tom Lane)
2290
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF;
how to add a jpg to a pdf; add photo to pdf form
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Reduce image resources: Since images are usually or large size, images size reducing can help to reduce PDF file size effectively.
add an image to a pdf form; adding a jpg to a pdf
Appendix E. Release Notes
Add CST (China Standard Time) to our lists. Remove references to ADT as “Arabia Daylight
Time”, an abbreviation that’s been out of usesince 2007; therefore, claimingthere is a conflictwith
“Atlantic Daylight Time” doesn’t seem especially helpful. Fix entirely incorrect GMT offsets for
CKT (Cook Islands), FJT, and FJST (Fiji); we didn’t even have them on the proper side of the date
line.
Update time zone data files to tzdata release 2015a.
The IANA timezone database has adopted abbreviations of the form
A
x
ST
/
A
x
DT
for all Australian
time zones, reflecting what they believe to be current majority practice Down Under. These names
do not conflict with usage elsewhere (other than ACST for Acre Summer Time, which has been in
disuse since 1994). Accordingly, adopt these names into our “Default” timezone abbreviation set.
The “Australia” abbreviationset now contains only CST, EAST, EST, SAST, SAT, and WST, all of
whichare thought tobe mostly historicalusage. Note thatSAST has also been changedto be South
Africa StandardTime in the “Default” abbreviation set.
Also, add zone abbreviations SRET (Asia/Srednekolymsk) and XJT (Asia/Urumqi), and use
WSST/WSDT for western Samoa. Also, there were DST law changes in Chile, Mexico, the Turks
&Caicos Islands (America/Grand_Turk), and Fiji. There is a new zone Pacific/Bougainville for
portions of Papua New Guinea. Also, numerous corrections for historical (pre-1970) time zone
data.
E.66. Release 9.0.18
ReleaseDate: 2014-07-24
This release contains a variety of fixes from 9.0.17. For information about new features in the 9.0
major release, see Section E.84.
E.66.1. Migration to Version 9.0.18
Adump/restore is not required for those running 9.0.X.
However, this release corrects an index corruption problem in some GiST indexes. See the first
changelog entry below to find out whether your installation has been affected and what steps you
should take if so.
Also, if you are upgrading from a version earlier than 9.0.15, see Section E.69.
E.66.2. Changes
Correctly initialize padding bytes in
contrib/btree_gist
indexes on
bit
columns (HeikkiLin-
nakangas)
This error could result in incorrect query results due to values that should compare equal not being
seen as equal. Users with GiST indexes on
bit
or
bit varying
columns should
REINDEX
those
indexes after installing this update.
Protect against torn pages when deleting GIN list pages (Heikki Linnakangas)
2291
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
RasterEdge .NET Image SDK has included a variety of image and document Add necessary references In addition, VB.NET users can append a PDF file to the end of a
how to add image to pdf acrobat; adding images to pdf files
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Convert smooth lines to curves. Detect and merge image fragments. Flatten visible layers. C#.NET DLLs: Compress PDF Document. Add necessary references:
how to add image to pdf in acrobat; add picture pdf
Appendix E. Release Notes
This fix prevents possible index corruption if a system crash occurs while the page update is being
written to disk.
Don’t clear the right-link of a GiST index page while replaying updates from WAL (Heikki Lin-
nakangas)
This error could lead to transiently wrong answers from GiST index scans performed in Hot
Standby.
Fix
possibly-incorrect
cache
invalidation
during
nested
calls
to
ReceiveSharedInvalidMessages
(Andres Freund)
Don’tassumea subquery’s outputis unique if there’s a set-returning function in its targetlist(David
Rowley)
This oversight could lead to misoptimization of constructs like
WHERE x IN (SELECT y,
generate_series(1,10) FROM t GROUP BY y)
.
Fix failure to detoast fields in composite elements of structured types (Tom Lane)
This corrects cases where TOAST pointers could be copied into other tables without being deref-
erenced. If the original data is later deleted, it would lead to errors like “missing chunk number 0
for toast value ...” when the now-dangling pointer is used.
Fix “record type has not been registered” failures with whole-row references to the output of Ap-
pend plan nodes (Tom Lane)
Fix possible crash when invoking a user-defined function while rewinding a cursor (Tom Lane)
Fixquery-lifespan memoryleak while evaluating the arguments for a function in
FROM
(Tom Lane)
Fix session-lifespan memory leaks in regular-expression processing (Tom Lane, Arthur O’Dwyer,
Greg Stark)
Fix data encoding error in
hungarian.stop
(Tom Lane)
Fix liveness checks for rows that were inserted in the current transaction and then deleted by a
now-rolled-backsubtransaction (Andres Freund)
This could cause problems (at least spurious warnings, and at worst an infinite loop) if
CREATE
INDEX
or
CLUSTER
were done later in the same transaction.
Clear
pg_stat_activity
.
xact_start
during
PREPARE TRANSACTION
(Andres Freund)
After the
PREPARE
,the originating session is no longer in a transaction, so it should not continue
to display a transaction start time.
Fix
REASSIGN OWNED
to not fail for text search objects (Álvaro Herrera)
Block signals during postmaster startup (Tom Lane)
This ensures that the postmaster will properly clean up after itself if, for example, it receives SIG-
INT while still starting up.
Secure Unix-domain sockets of temporary postmasters started during
make check
(Noah Misch)
Any local user able to access the socket file could connect as the server’s bootstrap superuser, then
proceed to execute arbitrary code as the operating-system user running the test, as we previously
noted in CVE-2014-0067. This change defends against that risk by placing the server’s socket in
atemporary, mode 0700 subdirectory of
/tmp
.The hazard remains however on platforms where
Unix sockets are not supported, notably Windows, because then the temporary postmaster must
accept local TCP connections.
2292
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
PDF document splitting, PDF page reordering and PDF page image and text Add necessary references: In addition, C# users can append a PDF file to the end of a
adding images to a pdf document; add image to pdf
VB.NET PDF File Split Library: Split, seperate PDF into multiple
1). ' Create output PDF file path list Dim outputFilePaths As New List(Of String) Dim i As Integer For i = 0 To splitIndex.Length outputFilePaths.Add(Program
add image to pdf java; add image to pdf online
Appendix E. Release Notes
Auseful side effect of this change is to simplify
make check
testing in builds that override
DEFAULT_PGSOCKET_DIR
.Popular non-default values like
/var/run/postgresql
are oftennot
writable by the build user, requiring workarounds that will no longer be necessary.
Fix tablespace creationWAL replay to work on Windows (MauMau)
Fix detection of socket creation failures on Windows (Bruce Momjian)
On Windows, allow new sessions to absorb values of PGC_BACKEND parameters (such as
log_connections) from the configuration file (Amit Kapila)
Previously, if such a parameter were changed in the file post-startup, the change would have no
effect.
Properly quote executable path names on Windows (Nikhil Deshpande)
This oversight could cause initdb and pg_upgrade to fail on Windows, if the installation path con-
tainedboth spaces and
@
signs.
Fix linking of libpython on OS X (Tom Lane)
The method we previously used can fail with the Pythonlibrary supplied by Xcode 5.0 and later.
Avoid buffer bloatin libpqwhenthe server consistently sends data faster than the client can absorb
it (Shin-ichi Morita, Tom Lane)
libpq could be coerced into enlarging its input buffer until it runs out of memory (which would
be reported misleadingly as “lost synchronization with server”). Under ordinary circumstances
it’s quite far-fetched that data could be continuously transmitted more quickly than the
recv()
loop can absorb it, but this has been observed when the client is artificially slowed by scheduler
constraints.
Ensure that LDAP lookup attempts in libpq time out as intended (Laurenz Albe)
Fix ecpg to do the right thing when an array of
char
*
is the target for a FETCH statement
returning more than one row, as well as some other array-handling fixes (Ashutosh Bapat)
Fix pg_restore’s processing of old-style large object comments (Tom Lane)
Adirect-to-database restore from an archive file generated by a pre-9.0 version of pg_dump would
usually fail if the archive contained more than a few comments for large objects.
In
contrib/pgcrypto
functions, ensure sensitive information is cleared from stack variables
before returning (Marko Kreen)
In
contrib/uuid-ossp
,cache the state of the OSSP UUID library across calls (Tom Lane)
This improves the efficiency of UUID generation and reduces the amount of entropy drawn from
/dev/urandom
,on platforms that have that.
Update time zone data files to tzdata release 2014e for DST law changes in Crimea, Egypt, and
Morocco.
E.67. Release 9.0.17
ReleaseDate: 2014-03-20
This release contains a variety of fixes from 9.0.16. For information about new features in the 9.0
major release, see Section E.84.
2293
Appendix E. Release Notes
E.67.1. Migration to Version 9.0.17
Adump/restore is not required for those running 9.0.X.
However, if you are upgrading from a version earlier than 9.0.15, see Section E.69.
E.67.2. Changes
Restore GIN metapages unconditionally to avoid torn-page risk (Heikki Linnakangas)
Although this oversight couldtheoretically result in a corruptedindex, it is unlikely to have caused
any problems in practice, since the active part of a GIN metapage is smaller than a standard 512-
byte disk sector.
Avoid race condition in checking transaction commit status during receipt of a
NOTIFY
message
(Marko Tiikkaja)
This prevents a scenario wherein a sufficiently fast client might respond to a notification before
database updates made by the notifier have become visible to the recipient.
Allow regular-expression operators to be terminated early by query cancel requests (Tom Lane)
This prevents scenarios wherein a pathological regular expression could lock up a server process
uninterruptably for a long time.
Remove incorrect code that tried to allow
OVERLAPS
with single-element row arguments (Joshua
Yanovski)
This code never worked correctly, and since the case is neither specified by the SQL standard nor
documented, it seemed better to remove it than fix it.
Avoid getting more than
AccessShareLock
when de-parsing a rule or view (Dean Rasheed)
This oversight resulted in pg_dump unexpectedly acquiring
RowExclusiveLock
locks on tables
mentioned as the targets of
INSERT
/
UPDATE
/
DELETE
commands in rules. While usually harmless,
that could interfere with concurrent transactions that tried to acquire, for example,
ShareLock
on
those tables.
Improve performance of index endpoint probes during planning (Tom Lane)
This change fixes a significant performance problem that occurred when there were many not-yet-
committed rows at the end of the index, which is a common situation for indexes on sequentially-
assigned values such as timestamps or sequence-generated identifiers.
Fix test to see if hot standby connections can be allowed immediately after a crash (Heikki Lin-
nakangas)
Prevent interrupts while reporting non-
ERROR
messages (Tom Lane)
This guards against rare server-process freezeups due to recursive entry to
syslog()
,and perhaps
other related problems.
Preventintermittent“couldnot reservesharedmemory region” failuresonrecentWindows versions
(MauMau)
Update time zone data files to tzdata release 2014a for DST law changes in Fiji and Turkey, plus
historical changes in Israel and Ukraine.
2294
Appendix E. Release Notes
E.68. Release 9.0.16
ReleaseDate: 2014-02-20
This release contains a variety of fixes from 9.0.15. For information about new features in the 9.0
major release, see Section E.84.
E.68.1. Migration to Version 9.0.16
Adump/restore is not required for those running 9.0.X.
However, if you are upgrading from a version earlier than 9.0.15, see Section E.69.
E.68.2. Changes
Shore up
GRANT ... WITH ADMIN OPTION
restrictions (NoahMisch)
Granting a role without
ADMIN OPTION
is supposed to prevent the grantee from adding or remov-
ing members from the granted role, but this restriction was easily bypassed by doing
SET ROLE
first. The security impact is mostly that a role member can revoke the access of others, contrary
to the wishes of his grantor. Unapproved role member additions are a lesser concern, since an un-
cooperative role member could provide most of his rights to others anyway by creating views or
SECURITY DEFINER
functions. (CVE-2014-0060)
Prevent privilege escalation via manual calls to PL validator functions (Andres Freund)
The primary role of PL validator functions is to be called implicitly during
CREATE FUNCTION
,
but they are also normal SQL functions that a user can call explicitly. Calling a validator on a
function actually written in some other language was not checked for and could be exploited for
privilege-escalation purposes. The fix involves adding a call to a privilege-checking function in
each validator function. Non-core procedural languages will also need to make this change to their
own validator functions, if any. (CVE-2014-0061)
Avoid multiple name lookups during table and index DDL (Robert Haas, Andres Freund)
If the name lookups come to different conclusions due to concurrent activity, we might perform
some parts of the DDL ona different table than other parts. At least in the case of
CREATE INDEX
,
this can be used to cause the permissions checks to be performed against a different table than the
index creation, allowing for a privilege escalation attack. (CVE-2014-0062)
Prevent buffer overrunwith long datetime strings (Noah Misch)
The
MAXDATELEN
constant was too small for the longest possible value of type
interval
,al-
lowing a buffer overrun in
interval_out()
.Although the datetime input functions were more
careful about avoiding buffer overrun, the limit was short enough to cause them to reject some
valid inputs, such as input containing a very long timezone name. The ecpglibrary contained these
vulnerabilities along with some of its own. (CVE-2014-0063)
Prevent buffer overrun due to integer overflow in size calculations (Noah Misch, Heikki Linnakan-
gas)
2295
Appendix E. Release Notes
Several functions, mostly type input functions, calculated an allocation size without checking for
overflow. If overflowdid occur, a too-small buffer would be allocated and then written past. (CVE-
2014-0064)
Prevent overruns of fixed-size buffers (Peter Eisentraut, Jozef Mlich)
Use
strlcpy()
and related functions to provide a clear guarantee that fixed-size buffers are not
overrun. Unlike the preceding items, it is unclear whether these cases really represent live issues,
since in most cases there appear to be previous constraints on the size of the input string. Nonethe-
less it seems prudent to silence all Coverity warnings of this type. (CVE-2014-0065)
Avoid crashing if
crypt()
returns NULL (Honza Horak, Bruce Momjian)
There are relatively few scenarios inwhich
crypt()
could return NULL, but
contrib/chkpass
would crash if it did. One practical case in which this could be an issue is if libc is configured to
refuse to execute unapproved hashing algorithms (e.g., “FIPS mode”). (CVE-2014-0066)
Document risks of
make check
in the regression testing instructions (Noah Misch, Tom Lane)
Since the temporary server started by
make check
uses “trust” authentication, another user on
the same machine could connect to it as database superuser, and then potentially exploit the privi-
leges of the operating-system user who started the tests. A future release will probably incorporate
changes in the testing procedure to prevent this risk, but some public discussion is needed first. So
for the moment, just warn people against using
make check
whenthere are untrusted users on the
same machine. (CVE-2014-0067)
Fix possible mis-replay of WAL records when some segments of a relation aren’t full size (Greg
Stark, Tom Lane)
The WAL update could be applied to the wrong page, potentially many pages past where it should
have been. Aside from corrupting data, this error has been observed to result in significant “bloat”
of standby servers compared to their masters, due to updates being applied far beyond where the
end-of-file should have been. This failure modedoes notappear to be asignificant riskduringcrash
recovery, only when initially synchronizing a standby created from a base backup taken from a
quickly-changing master.
Fix bug in determining when recovery has reached consistency (Tomonari Katsumata, Heikki Lin-
nakangas)
In some cases WAL replay would mistakenly conclude that the database was already consistent
at the start of replay, thus possibly allowing hot-standby queries before the database was really
consistent. Other symptoms such as “PANIC: WAL contains references toinvalid pages” were also
possible.
Fiximproper lockingof btree indexpages whilereplayinga
VACUUM
operationinhot-standby mode
(Andres Freund, Heikki Linnakangas, Tom Lane)
This error could result in “PANIC: WAL contains references to invalid pages” failures.
Ensure that insertions intonon-leaf GIN index pages write a full-page WAL record when appropri-
ate (Heikki Linnakangas)
The previous coding risked index corruption in the event of a partial-page write during a system
crash.
Fix race conditions during server process exit (Robert Haas)
Ensure that signal handlers don’t attempt to use the process’s
MyProc
pointer after it’s no longer
valid.
Fix unsafe references to
errno
within error reporting logic (Christian Kruse)
This would typically lead to odd behaviors such as missing or inappropriate
HINT
fields.
2296
Appendix E. Release Notes
Fix possible crashes from using
ereport()
too early during server startup (Tom Lane)
The principal case we’ve seen in the field is a crash if the server is started in a directory it doesn’t
have permission to read.
Clear retry flags properly in OpenSSL socket write function (Alexander Kukushkin)
This omission could resultinaserver lockupafter unexpectedloss of anSSL-encryptedconnection.
Fix length checking for Unicode identifiers (
U&"..."
syntax) containing escapes (Tom Lane)
Aspurious truncation warning would be printed for such identifiers if the escaped form of the
identifier was too long, but the identifier actually didn’t need truncation after de-escaping.
Allow keywords that are type names to be used inlists of roles (Stephen Frost)
Aprevious patch allowed such keywords to be used without quoting in places such as role identi-
fiers; but it missed cases where a list of role identifiers was permitted, such as
DROP ROLE
.
Fixpossiblecrashduetoinvalidplan for nested sub-selects, suchas
WHERE (... x IN (SELECT
...) ...) IN (SELECT ...)
(Tom Lane)
Ensure that
ANALYZE
creates statistics for a table column even when all the values in it are “too
wide” (Tom Lane)
ANALYZE
intentionally omits very wide values from its histogram and most-common-values cal-
culations, but it neglected to do something sane in the case that all the sampled entries are too
wide.
In
ALTER TABLE ... SET TABLESPACE
,allowthe database’s defaulttablespacetobeusedwith-
out a permissions check (Stephen Frost)
CREATE TABLE
has always allowed such usage, but
ALTER TABLE
didn’t get the memo.
Fix“cannot accept a set” error when some arms of a
CASE
returna set andothers don’t (Tom Lane)
Fix checks for all-zero client addresses in pgstat functions (Kevin Grittner)
Fix possible misclassificationof multibyte characters by the text search parser (Tom Lane)
Non-ASCII characters could be misclassified when using C locale with a multibyte encoding. On
Cygwin, non-C locales could fail as well.
Fix possible misbehavior in
plainto_tsquery()
(Heikki Linnakangas)
Use
memmove()
not
memcpy()
for copying overlapping memory regions. There havebeennofield
reports of this actually causing trouble, but it’s certainly risky.
Accept
SHIFT_JIS
as an encoding name for locale checking purposes (Tatsuo Ishii)
Fix misbehavior of
PQhost()
on Windows (Fujii Masao)
It should return
localhost
if no host has been specified.
Improve error handlinginlibpqandpsqlfor failuresduring
COPY TO STDOUT/FROM STDIN
(Tom
Lane)
In particular this fixes an infinite loop that could occur in 9.2 and up if the server connection was
lost during
COPY FROM STDIN
.Variants of that scenario might be possible in older versions, or
with other client applications.
Fix misaligned descriptors in ecpg (MauMau)
In ecpg, handle lack of a hostname inthe connection parameters properly (Michael Meskes)
Fix performance regression in
contrib/dblink
connection startup (Joe Conway)
Avoid an unnecessary round trip when client and server encodings match.
2297
Documents you may be interested
Documents you may be interested