1. 11 1月, 2019 1 次提交
  2. 07 12月, 2018 1 次提交
    • D
      Remove alert sending support via email and SNMP · 65822b80
      Daniel Gustafsson 提交于
      The support for sending alerts via Email or SNMP was quite a kludge,
      and there are much better external tools for managing alerts than
      what we can supply in core anyways so this retires the capability.
      
      All references to alert sending in the docs are removed, but there
      needs to be section written about how to migrate off this feature
      in the release notes or a similar location.
      
      Discussion: https://github.com/greenplum-db/gpdb/pull/6384
      65822b80
  3. 04 12月, 2018 1 次提交
    • D
      Synchronize configure.in with configure · e5f41414
      Daniel Gustafsson 提交于
      Commit f8afec06 extended the zstd
      check to also look for zstd_errors.h, and updated the comment. The
      comment update was however only committed to configure and not the
      source file configure.in. This synchronizes the files.
      e5f41414
  4. 27 11月, 2018 1 次提交
    • I
      Fix ZSTD compression error "dst buffer too small" · f8afec06
      Ivan Leskin 提交于
      When ZSTD compression is used for AO CO tables, insertion of data may cause an
      error "Destination buffer is too small". This happens when compressed data is
      larger than uncompressed input data.
      
      This commit adds handling of this situation: do not change output buffer and
      return size used equal to source size. The caller (e.g.,
      'cdbappendonlystoragewrite.c') is able to handle such output; in this case, it
      copies data from input to output itself.
      f8afec06
  5. 06 11月, 2018 1 次提交
  6. 03 11月, 2018 1 次提交
    • T
      Yet further rethinking of build changes for macOS Mojave. · 1b5e8b40
      Tom Lane 提交于
      The solution arrived at in commit e74dd00f presumes that the compiler
      has a suitable default -isysroot setting ... but further experience
      shows that in many combinations of macOS version, XCode version, Xcode
      command line tools version, and phase of the moon, Apple's compiler
      will *not* supply a default -isysroot value.
      
      We could potentially go back to the approach used in commit 68fc227d,
      but I don't have a lot of faith in the reliability or life expectancy of
      that either.  Let's just revert to the approach already shipped in 11.0,
      namely specifying an -isysroot switch globally.  As a partial response to
      the concerns raised by Jakob Egger, adjust the contents of Makefile.global
      to look like
      
      CPPFLAGS = -isysroot $(PG_SYSROOT) ...
      PG_SYSROOT = /path/to/sysroot
      
      This allows overriding the sysroot path at build time in a relatively
      painless way.
      
      Add documentation to installation.sgml about how to use the PG_SYSROOT
      option.  I also took the opportunity to document how to work around
      macOS's "System Integrity Protection" feature.
      
      As before, back-patch to all supported versions.
      
      Discussion: https://postgr.es/m/20840.1537850987@sss.pgh.pa.us
      1b5e8b40
  7. 30 10月, 2018 1 次提交
  8. 27 10月, 2018 1 次提交
  9. 19 10月, 2018 1 次提交
    • T
      Still further rethinking of build changes for macOS Mojave. · 0749acca
      Tom Lane 提交于
      To avoid the sorts of problems complained of by Jakob Egger, it'd be
      best if configure didn't emit any references to the sysroot path at all.
      In the case of PL/Tcl, we can do that just by keeping our hands off the
      TCL_INCLUDE_SPEC string altogether.  In the case of PL/Perl, we need to
      substitute -iwithsysroot for -I in the compile commands, which is easily
      handled if we change to using a configure output variable that includes
      the switch not only the directory name.  Since PL/Tcl and PL/Python
      already do it like that, this seems like good consistency cleanup anyway.
      
      Hence, this replaces the advice given to Perl-related extensions in commit
      5e221713; instead of writing "-I$(perl_archlibexp)/CORE", they should
      just write "$(perl_includespec)".  (The old way continues to work, but not
      on recent macOS.)
      
      It's still the case that configure needs to be aware of the sysroot
      path internally, but that's cleaner than what we had before.
      
      As before, back-patch to all supported versions.
      
      Discussion: https://postgr.es/m/20840.1537850987@sss.pgh.pa.us
      0749acca
  10. 17 10月, 2018 1 次提交
    • T
      Back off using -isysroot on Darwin. · 486e6f8d
      Tom Lane 提交于
      Rethink the solution applied in commit 5e221713 to get PL/Tcl to
      build on macOS Mojave.  I feared that adding -isysroot globally might
      have undesirable consequences, and sure enough Jakob Egger reported
      one: it complicates building extensions with a different Xcode version
      than was used for the core server.  (I find that a risky proposition
      in general, but apparently it works most of the time, so we shouldn't
      break it if we don't have to.)
      
      We'd already adopted the solution for PL/Perl of inserting the sysroot
      path directly into the -I switches used to find Perl's headers, and we
      can do the same thing for PL/Tcl by changing the -iwithsysroot switch
      that Apple's tclConfig.sh reports.  This restricts the risks to PL/Perl
      and PL/Tcl themselves and directly-dependent extensions, which is a lot
      more pleasing in general than a global -isysroot switch.
      
      Along the way, tighten the test to see if we need to inject the sysroot
      path into $perl_includedir, as I'd speculated about upthread but not
      gotten round to doing.
      
      As before, back-patch to all supported versions.
      
      Discussion: https://postgr.es/m/20840.1537850987@sss.pgh.pa.us
      486e6f8d
  11. 27 9月, 2018 1 次提交
    • H
      Remove built-in stub functions for QuickLZ compressor. · 589533be
      Heikki Linnakangas 提交于
      The proprietary build can install them as normal C language functions,
      with CREATE FUNCTION, instead.
      
      In the passing, remove some unused QuickLZ debugging GUCs.
      
      This doesn't yet get rid of all references to QuickLZ, unfortunately. The
      GUC and reloption validation code still needs to know about it, so that
      they can validate the options read from postgresql.conf, when starting up
      postmaster. For the same reason, you cannot yet add custom compression
      algorithms, besides quicklz, as an extension. But this is another step in
      the right direction, anyway.
      Co-authored-by: NJimmy Yih <jyih@pivotal.io>
      Co-authored-by: NJoao Pereira <jdealmeidapereira@pivotal.io>
      589533be
  12. 26 9月, 2018 1 次提交
    • T
      Make some fixes to allow building Postgres on macOS 10.14 ("Mojave"). · a5361b59
      Tom Lane 提交于
      Apple's latest rearrangements of the system-supplied headers have broken
      building of PL/Perl and PL/Tcl.  The only practical way to fix PL/Tcl is to
      start using the "-isysroot" compiler flag to point to SDK-supplied headers,
      as Apple expects.  We must also start distinguishing where to find Perl's
      headers from where to find its shared library; but that seems like good
      cleanup anyway.
      
      Extensions that formerly did something like -I$(perl_archlibexp)/CORE
      should now do -I$(perl_includedir)/CORE instead.  perl_archlibexp
      is still the place to look for libperl.so, though.
      
      If for some reason you don't like the default -isysroot setting, you can
      override that by setting PG_SYSROOT in configure's arguments.  I don't
      currently think people would need to do so, unless maybe for cross-version
      build purposes.
      
      In addition, teach configure where to find tclConfig.sh.  Our traditional
      method of searching $auto_path hasn't worked for the last couple of macOS
      releases, and it now seems clear that Apple's not going to change that.
      The workaround of manually specifying --with-tclconfig was annoying
      already, but Mojave's made it a lot more so because the sysroot path now
      has to be included as well.  Let's just wire the knowledge into configure
      instead.  To avoid breaking builds against non-default Tcl installations
      (e.g. MacPorts) wherein the $auto_path method probably still works,
      arrange to try the additional case only after all else has failed.
      
      Back-patch to all supported versions, since at least the buildfarm
      cares about that.  The changes are set up to not do anything on macOS
      releases that are old enough to not have functional sysroot trees.
      a5361b59
  13. 21 9月, 2018 1 次提交
    • A
      Error out for clang on x86-32 without SSE2 support, no -fexcess-precision. · 29196e13
      Andres Freund 提交于
      As clang currently doesn't support -fexcess-precision=standard,
      compiling x86-32 code with SSE2 disabled, can lead to problems with
      floating point overflow checks and the like.
      
      This issue was noticed because clang, on at least some BSDs, defaults
      to i386 compatibility, whereas it defaults to pentium4 on Linux.  Our
      forced usage of __builtin_isinf() lead to some overflow checks not
      triggering when compiling for i386, e.g. when the result of the
      calculation didn't overflow in 80bit registers, but did so in 64bit.
      
      While we could just fall back to a non-builtin isinf, it seems likely
      that the use of 80bit registers leads to other problems (which is why
      we force the flag for GCC already).  Therefore error out when
      detecting clang in that situation.
      
      Reported-By: Victor Wagner
      Analyzed-By: Andrew Gierth and Andres Freund
      Author: Andres Freund
      Discussion: https://postgr.es/m/20180905005130.ewk4xcs5dgyzcy45@alap3.anarazel.de
      Backpatch: 9.3-, all supported versions are affected
      29196e13
  14. 12 9月, 2018 2 次提交
    • T
      Use -Wno-format-truncation and -Wno-stringop-truncation, if available. · 18f9c0b9
      Tom Lane 提交于
      gcc 8 has started emitting some warnings that are largely useless for
      our purposes, particularly since they complain about code following
      the project-standard coding convention that path names are assumed
      to be shorter than MAXPGPATH.  Even if we make the effort to remove
      that assumption in some future release, the changes wouldn't get
      back-patched.  Hence, just suppress these warnings, on compilers that
      have these switches.
      
      Backpatch to all supported branches.
      
      Discussion: https://postgr.es/m/1524563856.26306.9.camel@gunduz.org
      (cherry picked from commit e7165852)
      18f9c0b9
    • T
      Suppress clang's unhelpful gripes about -pthread switch being unused. · 28d6c289
      Tom Lane 提交于
      Considering the number of cases in which "unused" command line arguments
      are silently ignored by compilers, it's fairly astonishing that anybody
      thought this warning was useful; it's certainly nothing but an annoyance
      when building Postgres.  One such case is that neither gcc nor clang
      complain about unrecognized -Wno-foo switches, making it more difficult
      to figure out whether the switch does anything than one could wish.
      
      Back-patch to 9.3, which is as far back as the patch applies conveniently
      (we'd have to back-patch PGAC_PROG_CC_VAR_OPT to go further, and it doesn't
      seem worth that).
      
      (cherry picked from commit 73b416b2)
      28d6c289
  15. 31 8月, 2018 1 次提交
    • A
      Add, optional, support for 128bit integers. · 9b164486
      Andres Freund 提交于
      We will, for the foreseeable future, not expose 128 bit datatypes to
      SQL. But being able to use 128bit math will allow us, in a later patch,
      to use 128bit accumulators for some aggregates; leading to noticeable
      speedups over using numeric.
      
      So far we only detect a gcc/clang extension that supports 128bit math,
      but no 128bit literals, and no *printf support. We might want to expand
      this in the future to further compilers; if there are any that that
      provide similar support.
      
      Discussion: 544BB5F1.50709@proxel.se
      Author: Andreas Karlsson, with significant editorializing by me
      Reviewed-By: Peter Geoghegan, Oskari Saarenmaa
      9b164486
  16. 07 8月, 2018 1 次提交
  17. 03 8月, 2018 1 次提交
  18. 02 8月, 2018 1 次提交
    • R
      Merge with PostgreSQL 9.2beta2. · 4750e1b6
      Richard Guo 提交于
      This is the final batch of commits from PostgreSQL 9.2 development,
      up to the point where the REL9_2_STABLE branch was created, and 9.3
      development started on the PostgreSQL master branch.
      
      Notable upstream changes:
      
      * Index-only scan was included in the batch of upstream commits. It
        allows queries to retrieve data only from indexes, avoiding heap access.
      
      * Group commit was added to work effectively under heavy load. Previously,
        batching of commits became ineffective as the write workload increased,
        because of internal lock contention.
      
      * A new fast-path lock mechanism was added to reduce the overhead of
        taking and releasing certain types of locks which are taken and released
        very frequently but rarely conflict.
      
      * The new "parameterized path" mechanism was added. It allows inner index
        scans to use values from relations that are more than one join level up
        from the scan. This can greatly improve performance in situations where
        semantic restrictions (such as outer joins) limit the allowed join orderings.
      
      * SP-GiST (Space-Partitioned GiST) index access method was added to support
        unbalanced partitioned search structures. For suitable problems, SP-GiST can
        be faster than GiST in both index build time and search time.
      
      * Checkpoints now are performed by a dedicated background process. Formerly
        the background writer did both dirty-page writing and checkpointing. Separating
        this into two processes allows each goal to be accomplished more predictably.
      
      * Custom plan was supported for specific parameter values even when using
        prepared statements.
      
      * API for FDW was improved to provide multiple access "paths" for their tables,
        allowing more flexibility in join planning.
      
      * Security_barrier option was added for views to prevents optimizations that
        might allow view-protected data to be exposed to users.
      
      * Range data type was added to store a lower and upper bound belonging to its
        base data type.
      
      * CTAS (CREATE TABLE AS/SELECT INTO) is now treated as utility statement. The
        SELECT query is planned during the execution of the utility. To conform to
        this change, GPDB executes the utility statement only on QD and dispatches
        the plan of the SELECT query to QEs.
      Co-authored-by: NAdam Lee <ali@pivotal.io>
      Co-authored-by: NAlexandra Wang <lewang@pivotal.io>
      Co-authored-by: NAshwin Agrawal <aagrawal@pivotal.io>
      Co-authored-by: NAsim R P <apraveen@pivotal.io>
      Co-authored-by: NDaniel Gustafsson <dgustafsson@pivotal.io>
      Co-authored-by: NGang Xiong <gxiong@pivotal.io>
      Co-authored-by: NHaozhou Wang <hawang@pivotal.io>
      Co-authored-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
      Co-authored-by: NJesse Zhang <sbjesse@gmail.com>
      Co-authored-by: NJinbao Chen <jinchen@pivotal.io>
      Co-authored-by: NJoao Pereira <jdealmeidapereira@pivotal.io>
      Co-authored-by: NMelanie Plageman <mplageman@pivotal.io>
      Co-authored-by: NPaul Guo <paulguo@gmail.com>
      Co-authored-by: NRichard Guo <guofenglinux@gmail.com>
      Co-authored-by: NShujie Zhang <shzhang@pivotal.io>
      Co-authored-by: NTaylor Vesely <tvesely@pivotal.io>
      Co-authored-by: NZhenghua Lyu <zlv@pivotal.io>
      4750e1b6
  19. 10 7月, 2018 2 次提交
    • D
      Add libexecinfo check for OpenBSD · 83147222
      Daniel Gustafsson 提交于
      In order to use backtrace() in error reporting on OpenBSD we need
      to link with libexecinfo from ports as backtrace() is a glibc only
      addition.
      83147222
    • D
      Check for libyaml when building gpmapreduce · d30a975f
      Daniel Gustafsson 提交于
      Greenplum Mapreduce requires libyaml, but was lacking a specific
      test for it in autoconf. This worked since gpfdist has the same
      check but when building with --disable-gpfdist we need to ensure
      we have libyaml to avoid late compilation failures.
      d30a975f
  20. 17 6月, 2018 1 次提交
  21. 30 5月, 2018 1 次提交
  22. 20 5月, 2018 1 次提交
  23. 19 5月, 2018 1 次提交
    • T
      Arrange to supply declarations for strtoll/strtoull if needed. · 023aa76e
      Tom Lane 提交于
      Buildfarm member dromedary is still unhappy about the recently-added
      ecpg "long long" tests.  The reason turns out to be that it includes
      "-ansi" in its CFLAGS, and in their infinite wisdom Apple have decided
      to hide the declarations of strtoll/strtoull in C89-compliant builds.
      (I find it pretty curious that they hide those function declarations
      when you can nonetheless declare a "long long" variable, but anyway
      that is their behavior, both on dromedary's obsolete macOS version and
      the newest and shiniest.)  As a result, gcc assumes these functions
      return "int", leading naturally to wrong results.
      
      (Looking at dromedary's past build results, it's evident that this
      problem also breaks pg_strtouint64() on 32-bit platforms; but we
      evidently have no regression tests that exercise that function with
      values above 32 bits.)
      
      To fix, supply declarations for these functions when the platform
      provides the functions but not the declarations, using the same type
      of mechanism as we use for some other similar cases.
      
      Discussion: https://postgr.es/m/151935568942.1461.14623890240535309745@wrigleys.postgresql.org
      023aa76e
  24. 08 5月, 2018 1 次提交
  25. 07 4月, 2018 2 次提交
  26. 27 2月, 2018 1 次提交
  27. 06 2月, 2018 1 次提交
  28. 18 1月, 2018 1 次提交
    • J
      Remove codgen wholesale (#4301) · fa65063d
      Jesse Zhang 提交于
      This patch removes codegen wholesale from Greenplum.
      
      In addition to reverting the commits involving codegen, we also removed
      miscellaneous references to the feature and GUC.
      
      The following commits from 5.0.0 were reverted (topologically ordered):
      
      f38c9064 Support avg aggregate function in codegen
      87dcae4c Capture and print error messages from llvm::verifyFunction
      65137540 libgpcodegen assert() overrides use GPDB Assert()
      81d378b4 GenerateExecVariableList calls regular slot_getattr when the code generation of the latter fails
      05a28211 Update Google Test source path used by codegen
      22a35fcc Call ereport when code generating float operators
      79517271 Support overflow checks for doubles.
      b5373a1e Fix codegen unittest link problem
      7a1a98c9 Print filename and lineno in codegened CreateElog
      58eda293 Fix wrong virtual tuple check in codegened slot_getattr
      bc6faa08 Set llvm_isNull_ptr to false when the result of codegened expression evaluation is not null
      8bbbd63f Enhance codegened advance_aggregates with support for null attributes
      e1fd6072 Abort code generation of expression evaluation trees with unsupported ExprState types
      509460ee Support null attributes in codegen expression evaluation framework
      739d978d Move enrollment of codegened ExecVariableList to ExecInitNode
      c05528d1 Fix CHECK_SYMBOL_DEFINED macro in CMakeLists.txt
      12cfd7bd Support offset calculation when there is null in the tuple and codegen is enabled
      40a2631e Use slot_getattr wrapper function for regular version.(#1194)
      613e9fbb Revert "Fix codegen issue by moving slot_getattr to heaptuple.c similar to"
      ee03f799 Fix cpplint error on advance aggregate
      2a65b0aa Fix slot function nullptr issue in expr eval.
      3107fc0e Fix for !(expr1 & expr2) and hasnull logic in slot_getatrr codegen.
      c940c7f6 Fix codegen issue by moving slot_getattr to heaptuple.c similar to Postgres.
      c8125736 Introduce guc to enable/disable all generator.
      a4f39507 Ensure that codegen unittests pass with GCC 6.2.0 (#1177)
      682d0b28 Allow overriding assert() functionality in libgpcodegen in DEBUG mode
      3209258a Organize codegen source files and unit tests
      d2ba88a9 Fix codegen unittests using DatumCastGenerator
      020b71a5 Generate code for COUNT aggregate function
      0eeec886 Fixing codegen related bugs in InitializeSupportedFunction
      41055352 Rewrite PGGenericFuncGenerator to support variable number of types
      e5318b6b Add AdvanceAggregatesCodegenEnroll mock function
      87521715 Codegen advance_aggregates for SUM transition function
      2043d95b Use string messages in codegened slot_getattr fallback block
      f160fa5a Add new GUC to control Codegen Optimization level.
      697ffc1a Fix cpplint errors
      c5e3aed4 Support Virtual Tuples and Memtuples in SlotGetAttrCodegen
      5996aaa7 Keep a reference to the CodegenManager in code generators
      6833b3c2 Remove unused header and just include what you use in codegen
      ab1eda87 Allow setting codegen guc to ON only if code generation is supported by the build
      dcd40712 Use PGFuncGeneratorInfo to codegen pg functions
      83869d1c Replace dynamic_cast with dyn_cast for llvm objects
      23007017 Decide what to generate for ExecEvalExpr based on PlanState
      387d8ce8 Add EXPLAIN CODEGEN to print generated IR to the client
      c4a9bd27 Introduce Datum to cpp cast, cpp type to Datum cast  and normal cast.(#944)
      66158dfd Record external function names for useful debugging
      adab9120 Support variable length attributes in SlotGetAttrCodegen.
      335e09aa Proclaim that the codegen'ed version of generated functions are called in debug build
      50fd9140 Fix cpplint errors
      88a04412 Use ExprTreeGeneratorInfo for expression tree generation.
      3b4af3bb Split code generation of ExecVariableList from slot_getattr
      8cd9ed9f Support <= operator for date/timestamp data types and some minor refactors.
      e4dccf46 Implement InlineFunction to force inline at call site
      71170942 Mock postmaster.o for codegen_framework_unittest.t
      09f00581 Codegen expressions that contain plus, minus and mul operators on float8 data types
      d7fb2f6d Fix codegen unittests on Linux and various compiler warnings while building codegen.
      45f2aa96 Fix test and update coding style This closes #874
      1b26fbfc Enrolled targetlist for scan and aggregate
      ebd1d014 Enhance codegen framework to support arbitrary expr tree
      ec626ce6 Generate and enroll naive ExecEvalExpr in Scan's quals
      1186001e Revert "Create naive code-generated version of ExecQual"
      6f928a65 Replace RegisterExternalFunction with GetOrRegisterExternalFunction using an unordered_map in codegen_utils
      6ae0085b Move ElogWrapper to GpCodegenUtils.
      d3f80b45 Add verifyfunction for generated llvm function.
      7bcf094a Fix codegen compiler error with 8.3 merge
      aae0ad3d Create naive code-generated version of ExecQual
      dce266ad Minor code quality fixes in src/backend/codegen
      d281f340 Support null attributes in code generated ExecVariableList
      82fd418e Address a number of cpplint errors in codegen_utils_unittest.cc
      887aa48d Add check for CodegenUtils::GetType for bool arrays
      bb9b92c6 Enhance Base Codegen to do clean up when generation fails
      b9ef5e3f Fix build error for Annotated types
      a5cfefd9 Add support for array types in codegen_utils.
      2b883384 Fix static_assert call
      7b75d9ea This commit  generates code for code path: ExecVariableList > slot_getattr > _slot_getsomeattrs > slot_deform_tuple. This code path is executed during scan in simple select queries that do not have a where clause (e.g., select bar from foo;).
      6d0a06e8 Fix CodeGen typos and CodeGeneratorManagerCreate function signature in gpcodegen_mock.c
      4916a606 Add support for registering vararg external functions with codegen utils.
      ae4a7754 Integrate codegen framework and make simple external call to slot deform tuple. This closes #649
      ee5fb851 Renaming code_generator to codegen_utils and CodeGenerator to CodegenUtils. This closes #648
      88e9baba Adding GPDB code generation utils
      Signed-off-by: NJesse Zhang <sbjesse@gmail.com>
      Signed-off-by: NMelanie Plageman <mplageman@pivotal.io>
      Signed-off-by: NSambitesh Dash <sdash@pivotal.io>
      fa65063d
  29. 13 1月, 2018 3 次提交
    • J
      Remove gpcrondump, gpdbrestore, and related files · 8922315e
      Jamie McAtamney 提交于
      We will not be supporting these utilities in GPDB 6.
      
      References to gpcrondump and gpdbrestore in the gpdb-doc directory have been left
      intact, as the documentation will be updated to refer to gpbackup and gprestore
      in a separate commit.
      
      Author: Jamie McAtamney <jmcatamney@pivotal.io>
      8922315e
    • H
      Remove --disable-segwalrep option, and the #ifdefs. · db7e4020
      Heikki Linnakangas 提交于
      WAL replication is the name of the game on this branch.
      db7e4020
    • A
      Enable segwalrep by default. · b7ae1fa3
      Ashwin Agrawal 提交于
      With file replication code removed, wal replication is only HA system for
      Greenplum now. Ideally wished to remove the config option as its no more a
      choice but keeping for now as all code checking for same needs to be modified
      anyways at some point.
      b7ae1fa3
  30. 02 1月, 2018 1 次提交
    • H
      Remove unused "debug_break" debugging facility. · e2778699
      Heikki Linnakangas 提交于
      AFAICS, this code isn't used for anything. It's a debugging utility, though,
      so maybe that's intentional. I think to use this, you're supposed to modify
      the source code at some place of interest, and add a debug_break() call
      there. However, I'm not aware of anyone using that. I just insert a sleep()
      or use a gdb breakpoint for that, when I'm debugging.
      e2778699
  31. 16 12月, 2017 2 次提交
  32. 15 12月, 2017 1 次提交
    • D
      Fix PG_PRINTF_ATTRIBUTE backport · e0050bcb
      Daniel Gustafsson 提交于
      Commit 94eacb66 backported pg_attribute_printf() but missed
      the part which defines PG_PRINTF_ATTRIBUTE. Since the function
      wasn't used in the backport the missing declaration didn't yield
      any compiler warnings. The upcoming update of src/timezone to
      track the current PostgreSQL version will however use this and
      cause warnings.
      
      This is a partial backport of the below commit from PostgreSQL
      9.5. One hunk of the referenced commit was a fix for a previous
      attempt which was skipped since we never merged that fix (yet).
      
        commit b779168f
        Author: Noah Misch <noah@leadboat.com>
        Date:   Sun Nov 23 09:34:03 2014 -0500
      
          Detect PG_PRINTF_ATTRIBUTE automatically.
      
          This eliminates gobs of "unrecognized format function type" warnings
          under MinGW compilers predating GCC 4.4.
      e0050bcb
  33. 11 12月, 2017 1 次提交
    • D
      Remove incorrect macro for checking stdc headers · c91c2523
      Daniel Gustafsson 提交于
      The AC_INCLUDES_DEFAULT macro expands to a text for the preprocessor
      to include the standard C headers, just running it bare renders an
      error without checking anything. The macro for actually testing the
      standard includes, AC_HEADER_STDC, is deprecated since all standard
      autoconf test macros use AC_INCLUDES_DEFAULT. And if we really find
      ourselves on a system without the C89 headers then testing for them
      specifically wont help us much since lots of other tests will fail
      as well (probably before this one would have a chance to run).
      
      In removing this, the code for checking ORCA headers with C++ was
      injected before testing C headers which caused errors later when
      checking types. Fix by moving the ORCA checks last, and while doing
      so also move library checks to the correct section of the autoconf
      script.
      
      This also performs minor copyediting on header file check error
      messages which were adjacent to the affected code.
      c91c2523
  34. 02 12月, 2017 1 次提交
    • I
      Add Zstandard compression option for append-optimized tables. · 724f9d27
      Ivan Leskin 提交于
      Add a new compression option for append-optimized tables, "zstd". It is
      generally faster than zlib or quicklz, and compresses better. Or at least
      it can be faster or compress better, if not both at the same time, by
      adjusting the compression level. A major advantage of Zstandard is the wide
      range of tuning, to choose the trade-off between compression speed and
      ratio.
      
      Update documentation to mention "zstd" alongside "zlib" and "quicklz". More
      could be done; all the examples still use zlib or quicklz, for example, and
      I think we want to emphasize Zstandard more in the docs, over those other
      options. But this is the bare minimum to keep the docs factually correct.
      
      Using the new option requires building the server with the libzstd library.
      A new --with-zstd option is added for that. The default is to build without
      libzstd, for now, but we should probably change the default to be on, after
      we have had a chance to update all the buildfarm machines to have libzstd.
      
      Patch by Ivan Leskin, Dmitriy Pavlov, Anton Chevychalov. Test case, docs
      changes, and some minor editorialization by Heikki Linnakangas.
      724f9d27