1. 11 5月, 2017 1 次提交
    • J
      Adds a check for Greenplum patched Xerces [#138725549] · 94afeb62
      Jesse Zhang and Omer Arap 提交于
      If gpdb is configured to build with orca it requires a Greenplum patched
      version of Xerces library. This commit adds an explicit check for the
      patched Xerces.
      
      This also gives us an opportunity to be more idiomatic in doing
      autoconf: we are replacing the manual manipulation of LIBS in
      src/backend/Makefile with `AC_CHECK_LIB` in `configure.in`.
      94afeb62
  2. 13 10月, 2016 1 次提交
    • J
      Disable aggressive loop optimizations in GCC 4.8+ (#1200) · 2e387d0e
      Jesse Zhang 提交于
      Summary:
      * Properly propagate the C++ compiler from autoconf
      * Disable aggressive loop optimizations in GCC 4.8+
      
      This commit is in the spirit of postgres/postgres@105f3ef4 , but done
      for C++ code so that the GPORCA translator can properly build when the
      compiler is GCC 4.8+
      
      Fixes greenplum-db/gpdb#1186 .
      
      TL;DR, here is the additional context on what specific to GPORCA translator:
      
      GCC 6.2.0 compiler (which is required for codegen) got aggressive loop optimization to remove loop when enumerating variable length array.
      
      In code `CTranslatorRelcacheToDXL.cpp`, we have a loop to enumerate all
      the attributes of an index:
      
      ```
      INT iAttno = pgIndex->indkey.values[ul];
      ```
      
      Where `values[ul]` is of following data structure:
      
      ```
      typedef struct
      {
      ...
      	int2		values[1];		/* VARIABLE LENGTH ARRAY */
      } int2vector;					/* VARIABLE LENGTH STRUCT */
      ```
      
      This is standard way of dealing with variable length array in Postgres. However, optimizer
      thinking there is only 1 element, hence removed the loop.
      
      This caused wrong result when using GPDB with GPORCA. The repro is
      ```
      -- multi-column index
      create table index_test (a int, b int, c int, d int, e int,
        constraint index_test_pkey PRIMARY KEY (a, b, c, d));
      
      insert into index_test select i,i%2,i%3,i%4,i%5 from generate_series(1,100) i;
      
      -- expecting using index scan with index cond: c=5
      explain select * from index_test where c = 5;
      ```
      
      When compile with GCC 6.2.0, the `index scan` is not selected, but a `table scan` is chosen
      instead. The root cause is the compiler removed the loop, and only keep the first column.
      
      The fix is to add $CXXFLAG auto detection to add the
      `-fno-aggressive-loop-optimizations` for $CXX compilers if that version of compiler supporting
      such optimization. Hence to avoid having the above issue for gpopt component.
      2e387d0e
  3. 28 10月, 2015 1 次提交
  4. 24 4月, 2004 1 次提交
  5. 20 1月, 2004 1 次提交
  6. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  7. 05 9月, 2002 1 次提交
  8. 30 3月, 2002 1 次提交
  9. 27 8月, 2001 1 次提交
  10. 05 3月, 2001 1 次提交
    • P
      · c18bb990
      Peter Mount 提交于
      Ok, I've split todays commit into three, the first two already done had some
      bits in JDBC & the first set of tools into contrib.
      
      This is the third, and deals with enabling JDBC to be compiled with the main
      source.
      
      What it does is add a new option to configure: --with-java
      
      This option tells configure to look for ant (our build tool of choice) and
      if found, it then compiles both the JDBC driver and the new tools as part
      of the normal make.
      
      Also, when the postgresql install is done, all the .jar files are also
      installed into the ${PGLIB}/java directory (thought best to keep then separate)
      
      Now I had some conflicts when this applied so could someone please double check
      that everything is ok?
      
      Peter
      c18bb990
  11. 06 11月, 2000 1 次提交
  12. 21 10月, 2000 1 次提交
  13. 26 9月, 2000 1 次提交
  14. 22 9月, 2000 1 次提交
  15. 29 8月, 2000 1 次提交
  16. 28 8月, 2000 2 次提交
  17. 27 8月, 2000 1 次提交
  18. 15 6月, 2000 1 次提交
    • P
      Big warnings cleanup for Solaris/GCC. Down to about 40 now, but · 44d1abeb
      Peter Eisentraut 提交于
      we'll get there one day.
      
      Use `cat' to create aclocal.m4, not `aclocal'. Some people don't
      have automake installed.
      
      Only run the autoconf rule in the top-level GNUmakefile if the
      invoker specified `make configure', don't run it automatically
      because of CVS timestamp skew.
      44d1abeb
  19. 11 6月, 2000 2 次提交
    • P
      Substituted new configure test for types of accept() · 06cd0f1a
      Peter Eisentraut 提交于
      Interfaced a lot of the custom tests to the config.cache, in the process
      made them separate macros and grouped them out into files. Made naming
      adjustments.
      
      Removed a couple of useless/unused configure tests.
      
      Disabled C++ by default. C++ is no more special than Perl, Python, and Tcl.
      And it breaks equally often. :(
      06cd0f1a
    • P
      Moved the intricacies of the perl interface build into its own makefile · 6de89c9a
      Peter Eisentraut 提交于
      that now functions as a wrapper around the MakeMaker stuff. It might
      even behave sensically when we have separate build dirs. Same for plperl,
      which of course still doesn't work very well. Made sure that plperl
      respects the choice of --libdir.
      
      Added --with-python to automatically build and install the Python interface.
      Works similarly to the Perl5 stuff.
      
      Moved the burden of the distclean targets lower down into the source tree.
      Eventually, each make file should have its own.
      
      Added automatic remaking of makefiles and configure. Currently only for the
      top-level because of a bug(?) in Autoconf. Use GNU `missing' to work around
      missing autoconf and aclocal. Start factoring out macros into their own
      config/*.m4 files to increase readability and organization.
      6de89c9a