1. 31 12月, 2015 2 次提交
    • H
      Simplify the way gp_toolkit schema is installed · f8910c3c
      Heikki Linnakangas 提交于
      Use the standard initdb mechanism for it, instead of having bespoken code
      in gpinitsystem.
      
      Also remove the unnecessarily complicated logic to generate gp_toolkit.sql
      from gp_toolkit.sql.in. All the JETPACK_* variables were constants, and
      there is particular need in making the gp_toolkit functions relocatable to
      different schemas or prefixes, so just hardcode them and remove the sed
      magic.
      
      Rewrite the file header of gp_toolkit.sql. The legal blurp is not needed,
      make the header look more like that of information_schema.sql and
      system_views.sql.
      
      Remove compaction_info.sql. It was only needed for old in-place
      upgrade from 4.3.x to 4.3.4.2, which is not relevant for master branch.
      
      Fix the "jetpack" bugbuster regression test. It was originally written to
      test the gp_toolkit views, but gp_toolkit was in fact not installed in
      bugbuster, and the expected output just contained a bunch of "relation
      does not exist" errors. Now it actually tests gp_toolkit again. Some of
      the test queries didn't produce repeateable results, due to differing oids,
      differences in table sizes, and other tables created by previous tests, so
      fixed those too.
      
      This has a small user-visible difference: gp_toolkit schema is now also
      installed in template0. That caused the difference in the expected outputs:
      pg_regress creates the "regression" database using template0 as the
      template, so gp_toolkit used to not be installed in it, but it is now.
      f8910c3c
    • V
      Cleaning up non-deterministic tests · 524b1f29
      Venkatesh Raghavan 提交于
      524b1f29
  2. 30 12月, 2015 11 次提交
  3. 29 12月, 2015 1 次提交
    • J
      gpdbrestore --truncate will not try to truncate a nonexistent table. · 36e4fed9
      Jimmy Yih 提交于
      Previously, if the set of tables to be restored using gpdbrestore --truncate
      included a table that did not exist in the target database, gpdbrestore would
      raise an exception when attempting to truncate the nonexistent table.  Now,
      gpdbrestore displays a warning regarding the nonexistent table, and the table is
      restored normally.
      
      Authors: Jimmy Yih and James McAtamney
      36e4fed9
  4. 28 12月, 2015 5 次提交
  5. 24 12月, 2015 2 次提交
  6. 23 12月, 2015 6 次提交
  7. 22 12月, 2015 5 次提交
    • Y
      6946ee2c
    • Y
      fix dead loop issue when file is empty · 69be90c5
      Yandong Yao 提交于
      69be90c5
    • Y
    • Y
      fix failed orca-case: fix information_schema.out ans files · 358b99c3
      Yu Yang 提交于
      358b99c3
    • Y
      VARIADIC paramters of UDF ported from PostgreSQL. · 4665a8d5
      Yu Yang 提交于
      User could use VARIADIC to specify parameter list when defining UDF
      if they want to use variadic parameters. It is easier for user to write
      only one variadic function instead of same name function with different
      parameters. An example for using variadic:
      create function concat(text, variadic anyarray) returns text as $$
      select array_to_string($2, $1);
      $$ language sql immutable strict;
      
      select concat('%', 1, 2, 3, 4, 5);
      
      NOTE: The variadic change set is ported from upstream of PostgreSQL:
      commit 517ae403
      Author: Tom Lane <tgl@sss.pgh.pa.us>
      Date:   Thu Dec 18 18:20:35 2008 +0000
      
      Code review for function default parameters patch.  Fix numerous problems as
      per recent discussions.  In passing this also fixes a couple of bugs in
      the previous variadic-parameters patch.
      
      commit 6563e9e2
      Author: Tom Lane <tgl@sss.pgh.pa.us>
      Date:   Wed Jul 16 16:55:24 2008 +0000
      
      Add a "provariadic" column to pg_proc to eliminate the remarkably expensive
      need to deconstruct proargmodes for each pg_proc entry inspected by
      FuncnameGetCandidates().  Fixes function lookup performance regression
      caused by yesterday's variadic-functions patch.
      
      In passing, make pg_proc.probin be NULL, rather than a dummy value '-',
      in cases where it is not actually used for the particular type of function.
      This should buy back some of the space cost of the extra column.
      
      commit d89737d3
      Author: Tom Lane <tgl@sss.pgh.pa.us>
      Date:   Wed Jul 16 01:30:23 2008 +0000
      
      Support "variadic" functions, which can accept a variable number of arguments
      so long as all the trailing arguments are of the same (non-array) type.
      The function receives them as a single array argument (which is why they
      have to all be the same type).
      
      It might be useful to extend this facility to aggregates, but this patch
      doesn't do that.
      
      This patch imposes a noticeable slowdown on function lookup --- a follow-on
      patch will fix that by adding a redundant column to pg_proc.
      
      Conflicts:
      	src/backend/gpopt/gpdbwrappers.cpp
      4665a8d5
  8. 21 12月, 2015 4 次提交
  9. 20 12月, 2015 3 次提交
    • R
      Fix issue #74, make cluster in gpdemo failed(initdb failed on a 32-bit VM) · 94eacb66
      Robert Mu 提交于
      Heikki suggested that we backport atomic operation from PostgreSQL 9.5 to
      fix this
      
          commit b64d92f1
          Author: Andres Freund <andres@anarazel.de>
          Date:   Thu Sep 25 23:49:05 2014 +0200
      
          Add a basic atomic ops API abstracting away platform/architecture details.
      
          Several upcoming performance/scalability improvements require atomic
          operations. This new API avoids the need to splatter compiler and
          architecture dependent code over all the locations employing atomic
          ops.
      
          For several of the potential usages it'd be problematic to maintain
          both, a atomics using implementation and one using spinlocks or
          similar. In all likelihood one of the implementations would not get
          tested regularly under concurrency. To avoid that scenario the new API
          provides a automatic fallback of atomic operations to spinlocks. All
          properties of atomic operations are maintained. This fallback -
          obviously - isn't as fast as just using atomic ops, but it's not bad
          either. For one of the future users the atomics ontop spinlocks
          implementation was actually slightly faster than the old purely
          spinlock using implementation. That's important because it reduces the
          fear of regressing older platforms when improving the scalability for
          new ones.
      
          The API, loosely modeled after the C11 atomics support, currently
          provides 'atomic flags' and 32 bit unsigned integers. If the platform
          efficiently supports atomic 64 bit unsigned integers those are also
          provided.
      
          To implement atomics support for a platform/architecture/compiler for
          a type of atomics 32bit compare and exchange needs to be
          implemented. If available and more efficient native support for flags,
          32 bit atomic addition, and corresponding 64 bit operations may also
          be provided. Additional useful atomic operations are implemented
          generically ontop of these.
      
          The implementation for various versions of gcc, msvc and sun studio have
          been tested. Additional existing stub implementations for
          * Intel icc
          * HUPX acc
          * IBM xlc
          are included but have never been tested. These will likely require
          fixes based on buildfarm and user feedback.
      
          As atomic operations also require barriers for some operations the
          existing barrier support has been moved into the atomics code.
      
          Author: Andres Freund with contributions from Oskari Saarenmaa
          Reviewed-By: Amit Kapila, Robert Haas, Heikki Linnakangas and Álvaro Herrera
          Discussion: CA+TgmoYBW+ux5-8Ja=Mcyuy8=VXAnVRHp3Kess6Pn3DMXAPAEA@mail.gmail.com,
              20131015123303.GH5300@awork2.anarazel.de,
              20131028205522.GI20248@awork2.anarazel.de
      94eacb66
    • E
      OSX commercial blds, generate i686 instructions · 4f80ebf5
      Ed Espino 提交于
      For OSX commercial builds, instruct the gcc compiler to produce
      i686 (CPU) instructions.  This is needed to support an upstream
      PostgreSQL merge which uses atomic instructions introduced in one of
      those later CPUs.
      
      Previously, there was no autoconf test for those instructions, and we
      just compiled hand-crafted assembly to use those instructions anyway,
      even though the rest of the compiler was targeting the older cpus.
      
      reference: https://wiki.gentoo.org/wiki/GCC_optimization#-march
      
        Different CPUs have different capabilities, support different
        instruction sets, and have different ways of executing code. The
        -march flag will instruct the compiler to produce specific code for
        the system's CPU, with all its capabilities, features, instruction
        sets, quirks, and so on.
      4f80ebf5
    • A
      c8b6698f
  10. 19 12月, 2015 1 次提交