Skip to content
Snippets Groups Projects
  1. Jun 11, 2011
  2. Jun 10, 2011
  3. Jun 02, 2011
  4. May 31, 2011
    • Tom Lane's avatar
      Replace use of credential control messages with getsockopt(LOCAL_PEERCRED). · be4585b1
      Tom Lane authored
      It turns out the reason we hadn't found out about the portability issues
      with our credential-control-message code is that almost no modern platforms
      use that code at all; the ones that used to need it now offer getpeereid(),
      which we choose first.  The last holdout was NetBSD, and they added
      getpeereid() as of 5.0.  So far as I can tell, the only live platform on
      which that code was being exercised was Debian/kFreeBSD, ie, FreeBSD kernel
      with Linux userland --- since glibc doesn't provide getpeereid(), we fell
      back to the control message code.  However, the FreeBSD kernel provides a
      LOCAL_PEERCRED socket parameter that's functionally equivalent to Linux's
      SO_PEERCRED.  That is both much simpler to use than control messages, and
      superior because it doesn't require receiving a message from the other end
      at just the right time.
      
      Therefore, add code to use LOCAL_PEERCRED when necessary, and rip out all
      the credential-control-message code in the backend.  (libpq still has such
      code so that it can still talk to pre-9.1 servers ... but eventually we can
      get rid of it there too.)  Clean up related autoconf probes, too.
      
      This means that libpq's requirepeer parameter now works on exactly the same
      platforms where the backend supports peer authentication, so adjust the
      documentation accordingly.
      be4585b1
  5. May 26, 2011
    • Tom Lane's avatar
      Adjust configure to use "+Olibmerrno" with HP-UX C compiler, if possible. · 44404f39
      Tom Lane authored
      This is reported to be necessary on some versions of that OS.  In service
      of this, cause PGAC_PROG_CC_CFLAGS_OPT to reject switches that result in
      compiler warnings, since on yet other versions of that OS, the switch does
      nothing except provoke a warning.
      
      Report and patch by Ibrar Ahmed, further tweaking by me.
      44404f39
  6. May 24, 2011
  7. May 22, 2011
  8. May 06, 2011
    • Peter Eisentraut's avatar
      Improve compiler string shown in version() · 8dd2ede3
      Peter Eisentraut authored
      With some compilers such as Clang and ICC emulating GCC, using a
      version string of the form "GCC $version" can be quite misleading.
      Also, a great while ago, the version output from gcc --version started
      including the string "gcc", so it is redundant to repeat that.  In
      order to support ancient GCC versions, we now prefix the result with
      "GCC " only if the version output does not start with a letter.
      8dd2ede3
  9. Apr 27, 2011
  10. Apr 23, 2011
    • Tom Lane's avatar
      Fix char2wchar/wchar2char to support collations properly. · 2ab0796d
      Tom Lane authored
      These functions should take a pg_locale_t, not a collation OID, and should
      call mbstowcs_l/wcstombs_l where available.  Where those functions are not
      available, temporarily select the correct locale with uselocale().
      
      This change removes the bogus assumption that all locales selectable in
      a given database have the same wide-character conversion method; in
      particular, the collate.linux.utf8 regression test now passes with
      LC_CTYPE=C, so long as the database encoding is UTF8.
      
      I decided to move the char2wchar/wchar2char functions out of mbutils.c and
      into pg_locale.c, because they work on wchar_t not pg_wchar_t and thus
      don't really belong with the mbutils.c functions.  Keeping them where they
      were would have required importing pg_locale_t into pg_wchar.h somehow,
      which did not seem like a good plan.
      2ab0796d
  11. Mar 02, 2011
    • Peter Eisentraut's avatar
      Support for DragonFly BSD · 6094c242
      Peter Eisentraut authored
      Mapped to NetBSD, the closest existing match.  (Even though DragonFly
      BSD is derived from FreeBSD, the shared library version numbering
      matches NetBSD, and the rest is mostly the same among all BSD
      variants.)
      
      per "Rumko"
      6094c242
  12. Feb 26, 2011
  13. Feb 08, 2011
    • Peter Eisentraut's avatar
      Per-column collation support · 414c5a2e
      Peter Eisentraut authored
      This adds collation support for columns and domains, a COLLATE clause
      to override it per expression, and B-tree index support.
      
      Peter Eisentraut
      reviewed by Pavel Stehule, Itagaki Takahiro, Robert Haas, Noah Misch
      414c5a2e
  14. Jan 27, 2011
  15. Jan 24, 2011
  16. Jan 01, 2011
  17. Dec 26, 2010
  18. Dec 16, 2010
    • Tom Lane's avatar
      Fix up getopt() reset management so it works on recent mingw. · 5cdd65f3
      Tom Lane authored
      The mingw people don't appear to care about compatibility with non-GNU
      versions of getopt, so force use of our own copy of getopt on Windows.
      Also, ensure that we make use of optreset when using our own copy.
      
      Per report from Andrew Dunstan.  Back-patch to all versions supported
      on Windows.
      5cdd65f3
  19. Nov 23, 2010
  20. Sep 29, 2010
  21. Sep 20, 2010
  22. Sep 11, 2010
    • Heikki Linnakangas's avatar
      Introduce latches. A latch is a boolean variable, with the capability to · 2746e5f2
      Heikki Linnakangas authored
      wait until it is set. Latches can be used to reliably wait until a signal
      arrives, which is hard otherwise because signals don't interrupt select()
      on some platforms, and even when they do, there's race conditions.
      
      On Unix, latches use the so called self-pipe trick under the covers to
      implement the sleep until the latch is set, without race conditions. On
      Windows, Windows events are used.
      
      Use the new latch abstraction to sleep in walsender, so that as soon as
      a transaction finishes, walsender is woken up to immediately send the WAL
      to the standby. This reduces the latency between master and standby, which
      is good.
      
      Preliminary work by Fujii Masao. The latch implementation is by me, with
      helpful comments from many people.
      2746e5f2
  23. Jul 09, 2010
  24. Jul 05, 2010
    • Tom Lane's avatar
      Split the LDFLAGS make variable into two parts: LDFLAGS is now used for · 291a9577
      Tom Lane authored
      linking both executables and shared libraries, and we add on LDFLAGS_EX when
      linking executables or LDFLAGS_SL when linking shared libraries.  This
      provides a significantly cleaner way of dealing with link-time switches than
      the former behavior.  Also, make sure that the various platform-specific
      %.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that
      before.  (I did not add these variables for the platforms that invoke $(LD)
      directly, however.  It's not clear if we can do that safely, since for the
      most part we assume these variables use CC command-line syntax.)
      
      Per gripe from Aaron Swenson and subsequent investigation.
      291a9577
  25. Jun 04, 2010
  26. May 25, 2010
  27. May 14, 2010
  28. Apr 30, 2010
  29. Feb 19, 2010
  30. Feb 17, 2010
  31. Feb 13, 2010
    • Tom Lane's avatar
      Support inlining various small performance-critical functions on non-GCC · e08ab7c3
      Tom Lane authored
      compilers, by applying a configure check to see if the compiler will accept
      an unreferenced "static inline foo ..." function without warnings.  It is
      believed that such warnings are the only reason not to declare inlined
      functions in headers, if the compiler understands "inline" at all.
      
      Kurt Harriman
      e08ab7c3
  32. Jan 16, 2010
    • Tom Lane's avatar
      Re-order configure tests to reflect the fact that the code generated for · a6c75be2
      Tom Lane authored
      posix_fadvise and other file-related functions can depend on _LARGEFILE_SOURCE
      and/or _FILE_OFFSET_BITS.  Per report from Robert Treat.
      
      Back-patch to 8.4.  This has been wrong all along, but we weren't really using
      posix_fadvise in anger before, and AC_FUNC_FSEEKO seems to mask the issue well
      enough for that function.
      a6c75be2
  33. Jan 07, 2010
    • Tom Lane's avatar
      c7f08913
    • Tom Lane's avatar
      Alter the configure script to fail immediately if the C compiler does not · d15cb38d
      Tom Lane authored
      provide a working 64-bit integer datatype.  As recently noted, we've been
      broken on such platforms since early in the 8.4 development cycle.  Since
      it took nearly two years for anyone to even notice, it seems that the
      rationale for continuing to support such platforms has reached the point
      of non-existence.  Rather than thrashing around to try to make it work
      again, we'll just admit up front that this no longer works.
      
      Back-patch to 8.4 since that branch is also broken.
      
      We should go around to remove INT64_IS_BUSTED support, but just in HEAD,
      so that seems like material for a separate commit.
      d15cb38d
  34. Jan 02, 2010
  35. Dec 31, 2009
  36. Dec 11, 2009
Loading