- 11 4月, 2016 2 次提交
-
-
由 Kenan Yao 提交于
-
由 Kuien Liu 提交于
* Support the aggregation transition datatype to be "internal" Backport below commits from upstream: commit 22d9ddbb Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Sat Aug 14 15:47:13 2010 +0000 Fix planner to make a reasonable assumption about the amount of memory space used by array_agg(), string_agg(), and similar aggregate functions that use "internal" as their transition datatype. The previous coding thought this took *no* extra space, since "internal" is pass-by-value; but actually these aggregates typically consume a great deal of space. Per bug #5608 from Itagaki Takahiro, and fix suggestion from Hitoshi Harada. Back-patch to 8.4, where array_agg was introduced. commit 9e0247ab Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Fri Nov 14 19:47:50 2008 +0000 In CREATE AGGREGATE, allow the transition datatype to be "internal", but only if the user is superuser. This makes available to extension modules the same sort of trick being practiced by array_agg(). The reason for the superuser restriction is that you could crash the system by connecting up an incompatible pair of internal-using functions as an aggregate. It shouldn't interfere with any legitimate use, since you'd have to be superuser to create the internal-using transition and final functions anyway. Besides, we cannot find regression tests in above commits, so we add a set of tests for this feature, a part of them come from legacy extension "intagg" regression tests. Conflicts: src/test/regress/expected/arrays.out src/test/regress/sql/arrays.sql * add tests to #588: run with role of (non-)superuser #588: Support the aggregate's transype to be "internal" Normally, the aggregate's transtype can't be a pseudo-type. However, we can allow "internal" for functions that want to pass pointers to private data structures; but allow that only to superusers. Here we add tests to verify this constraint.
-
- 10 4月, 2016 1 次提交
-
-
由 Daniel Gustafsson 提交于
This code was commented out without providing any useful information so remove to reduce clutter.
-
- 09 4月, 2016 3 次提交
-
-
This closes #606
-
由 Heikki Linnakangas 提交于
This mirrors the check in vacuum.c, for VACUUMing external tables. This was missed in commit f995c59f, which replaced most of the old ANALYZE with the upstream code. Fixes issue #395, reported by George Caragea.
-
由 Ashwin Agrawal 提交于
Space for bit addition to nullbitmap was missed while estimating if block has space for new delta item or not. Since adding a delta value, adds a false bit to nullbitmap, it needs to be added in space calculation before inserting new item to block. Missing same maybe endup in failure during block write due to block size overflow.
-
- 08 4月, 2016 7 次提交
-
-
由 Adam Lee 提交于
-
由 Daniel Gustafsson 提交于
The qp_query_execution test was added to the tree in commit 9d19664c and then further updated in 29a0fec8 but it's not present in any test schedule. Add to the greenplum_schedule to include it when running installcheck-good.
-
由 Kuien Liu 提交于
Backport below commit from upstream: commit d5768dce Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Mon Feb 8 20:39:52 2010 +0000 Create an official API function for C functions to use to check if they are being called as aggregates, and to get the aggregate transition state memory context if needed. Use it instead of poking directly into AggState and WindowAggState in places that shouldn't know so much. We should have done this in 8.4, probably, but better late than never. Revised version of a patch by Hitoshi Harada. modified: src/backend/executor/nodeAgg.c modified: src/include/fmgr.h
-
由 Haisheng Yuan 提交于
-
由 Stephen Wu 提交于
- use consistent spacing - use spaces instead of tabs - update nomenclature in gpcheckcat - rename 'test' to 'check' This is is to be more consistent and to avoid confusion with unit/integration tests in the future. We purposely did not change 'test' in stdout and logs because integration tests for other parts of the system that call gpcheckcat currently fail if our output changes. A future commit may change 'test' to 'check' in stdout in addition to fixing the aforementioned integration tests. Authors: Chumki Roy and Stephen Wu
-
由 kaknikhil 提交于
* drop leaked schemas before running gpcheckcat tests 1. drop any leaked/orphaned schemas before running any of the gpcheckcat tests 2. add unit and behave tests 3. move gpcheckcat from gpMgmt/bin/lib to gpMgmt/bin 4. misc refactoring orphan/leaked schemas are temp schemas that are not associated with any session id. There used to be a check for leaked temp schemas in gpcheckcat which ended up creating a repair script. * drop the database at the end of the behave test * move the gpcheckcat bin to lib symlink before the copy to /Users/nikhilkak/git/gpdb/gpAux/greenplum-db-devel * fix the if check before symlinking gpcheckcat from bin to lib closes #595
-
由 Haisheng Yuan 提交于
-
- 07 4月, 2016 7 次提交
-
-
由 Daniel Gustafsson 提交于
Since we discover the apr-1-config binary during the configure stage we might as well simplify the gpfdist Makefile by using it during building. Also renames the APR_CONFIG variable to avoid colliding with $APR_CONFIG using the gpAux makefile.
-
由 Heikki Linnakangas 提交于
-
由 Asim R P 提交于
transaction block. ReindexRelationList is a GPDB specific function that wraps each reindex table operation within a separate transaction. If the table being reindexed is a partitioned table, each partition is reindexed in a separate transaction. Now that we have removed the assertion, refactor this function to commit and start top level transcation, rather than leaving this burden on callers. Fixes #567.
-
由 George Caragea 提交于
This commit makes zlib to use palloc/pfree, by rewriting compress_zlib.c to utilize the API in gfile.c, and dispatcher to use palloc and pfree through a set of zlib wrapper functions. This enables our protection mechanisms (gp_vmem_protect_limit, runaway_detector_activation_percent) to keep the system stable by cleanly canceling a query which would otherwise cause us to run out of memory. Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com>
-
由 Foyzur Rahman 提交于
Fixing memory leak because of reallocation of level state per partition for every new partition. Instead, we now reallocate level state for every level in the makeWindowState. The following repro will consume gigabytes of memory and should run out of memory, given appropriate VMEM configuration: drop table if exists wtest; create table wtest ( id integer, dt date, name character varying(100), created_dt date ); insert into wtest select a, current_date + a, 'xyz' || a, current_date + (a % 10) from (select a from generate_series(1, 10000000) as a) as temp; select row_number() over (w) as row_num, id, dt, name from wtest window w as (partition by dt, name, id order by created_dt desc ); After the fix the same repro should consume very little memory.
-
由 Abhijit Subramanya 提交于
In some cases, the filerep processes get stuck waiting for the spin locks on an in memory log and the postmaster PANICs if they can't acquire a lock after timeout period. In order to avoid locking related issues we want to avoid acquiring the locks in the first place. This patch introduces a new guc which will cause filerep logs to be logged to server logs and will avoid logging to the in memory log.
-
由 Shreedhar Hardikar 提交于
-
- 06 4月, 2016 3 次提交
-
-
由 Kuien Liu 提交于
Add SPI_cursor_open_with_args/SPI_execute_with_args functions
-
由 Ning Wu 提交于
w/o reuse_table. If there is no reuse_table, there would be no way to check the format error. If resue_table is true, gpload can show how to check the detail error message.
-
由 George Caragea 提交于
This reverts to the upstream version of this function and removes the unit test that was testing the change.
-
- 05 4月, 2016 5 次提交
-
-
由 Heikki Linnakangas 提交于
Arrange for the "QEdetails" to be sent automatically from the QE at backend startup, so that the QD doesn't need to request it and wait for the response.
-
由 Heikki Linnakangas 提交于
Makes merging easier, and is less code overall anyway. I don't think there was any particular reason it was originally changed to differ from upstream. There is one slightly user-visible impact from this change: In a full-database VACUUM ANALYZE command, the VACUUM and ANALYZE phases are performed on one table, before moving to next, whereas before we performed VACUUM on all tables first, and ANALYZE on all tables next. I couldn't discern any reason from the code comments for that change in behaviour, so I assume it was just coincidental.
-
由 Heikki Linnakangas 提交于
-
由 Atri Sharma 提交于
-
由 Gang Xiong 提交于
-
- 18 3月, 2016 1 次提交
-
-
由 Shreedhar Hardikar 提交于
-
- 05 4月, 2016 1 次提交
-
-
由 Nikos Armenatzoglou 提交于
Workfile caching has already been removed from master. This commit cleans up workfile manager and removes two functions (workfile_mgr_evict and acquire_entry_retry) related to workfile caching that we do not need them anymore.
-
- 02 4月, 2016 6 次提交
-
-
由 Haozhou Wang 提交于
Looks it falls back to legacy optimizer when running regression, hence we temporally comment out three tests and create a story on pivotaltracker #116312671 to solve it later. -- comment out two tests in domain.sql -- comment out one test in qp_misc_jiras.sql Thanks to Venkatesh Raghavan for helping
-
由 Haozhou Wang 提交于
Backport below commits from upstream: commit 31edbadf Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Tue Jun 5 21:31:09 2007 +0000 Downgrade implicit casts to text to be assignment-only, except for the ones from the other string-category types; this eliminates a lot of surprising interpretations that the parser could formerly make when there was no directly applicable operator. Create a general mechanism that supports casts to and from the standard string types (text,varchar,bpchar) for *every* datatype, by invoking the datatype's I/O functions. These new casts are assignment-only in the to-string direction, explicit-only in the other, and therefore should create no surprising behavior. Remove a bunch of thereby-obsoleted datatype-specific casting functions. The "general mechanism" is a new expression node type CoerceViaIO that can actually convert between *any* two datatypes if their external text representations are compatible. This is more general than needed for the immediate feature, but might be useful in plpgsql or other places in future. This commit does nothing about the issue that applying the concatenation operator || to non-text types will now fail, often with strange error messages due to misinterpreting the operator as array concatenation. Since it often (not always) worked before, we should either make it succeed or at least give a more user-friendly error; but details are still under debate. Peter Eisentraut and Tom Lane commit bf940763 Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Tue Mar 27 23:21:12 2007 +0000 Fix array coercion expressions to ensure that the correct volatility is seen by code inspecting the expression. The best way to do this seems to be to drop the original representation as a function invocation, and instead make a special expression node type that represents applying the element-type coercion function to each array element. In this way the element function is exposed and will be checked for volatility. Per report from Guillaume Smet.
-
由 Foyzur Rahman 提交于
Adding test changes in alter_table_optimizer.out for fixing tuple descriptor leak in split_rows during an ALTER TABLE SPLIT PARTITION.
-
由 Foyzur Rahman 提交于
-
由 Nikhil Kak 提交于
-
由 Nikhil Kak 提交于
-
- 01 4月, 2016 3 次提交
-
-
由 Daniel Gustafsson 提交于
The function updateAppendOnlyStats() was removed in 3fb6ca82 but the prototype remained.
-
由 Xin Zhang 提交于
Signed-off-by: NXin Zhang <xzhang@pivotal.io>
-
由 Jimmy Yih 提交于
The gp_default_storage_options GUC had two scenarios in which the value between master and segments could be conflicting which would cause tables to possibly have different storage parameters between master and segments. First Scenario: The below gpconfig example would give newly created user tables a default storage parameter of AO on segments while master sets the table as heap. Fixed by not allowing the user to make them different values. gpconfig -c gp_default_storage_options -v "'appendonly=true'" -m "'appendonly=false'" Second Scenario: During a psql session not in transaction, a session-level gp_default_storage_options GUC value can be set which will also be dispatched to segment processes. Those segment processes when idle for a period of time will be stopped and the next SQL (e.g. CREATE TABLE) will spawn new segment processes which will not have the session-level GUC value set. Fixed by setting the value at cdbgang creation.
-
- 31 3月, 2016 1 次提交
-
-
由 Jasper 提交于
-