Re: [HACKERS] why do we need create tuplestore for each fetch?

2011-12-20 Thread
fetch may turn tuplestore to use buffer file, and slow the performance very much. On Mon, Dec 19, 2011 at 9:06 PM, Robert Haas robertmh...@gmail.com wrote: On Thu, Dec 15, 2011 at 8:30 AM, 高增琦 pgf...@gmail.com wrote: I found this several days ago when I try to debug a fetch of cursor. And I have

Re: [HACKERS] visibility map

2010-11-23 Thread
Can we just log the change of VM in log_heap_clean() for redo? Thanks -- GaoZengqi pgf...@gmail.com zengqi...@gmail.com On Tue, Nov 23, 2010 at 3:24 AM, Robert Haas robertmh...@gmail.com wrote: On Mon, Jun 14, 2010 at 1:19 AM, Heikki Linnakangas heikki.linnakan...@enterprisedb.com wrote: I

[HACKERS] Why create tuplestore for each fetch?

2011-12-12 Thread
Hi, I am reading code about cursor and fetch ... Here is a test: create table t (a int); insert into t values (1),(3),(5),(7),(9); insert into t select a+1 from t; begin; declare c cursor for select * from t order by a; fetch 3 in c; fetch 3 in c; fetch 3 in c; In func PortalRun,

[HACKERS] why do we need create tuplestore for each fetch?

2011-12-15 Thread
Hi everyone, I found this several days ago when I try to debug a fetch of cursor. And I have sent a mail to this list, but no one reply... Maybe this is a very simple problem, please help me, thanks a lot... Here is the example: create table t (a int); insert into t values

Re: [HACKERS] crash-safe visibility map, take four

2011-03-29 Thread
Hi, Should we do full-page write for visibilitymap all the time? Now, when clear visiblitymap, there is no full-page write for vm since we don't save buffer info in insert/update/delete's log. The full-page write is used to protect pages from disk failure. Without it, 1) set vm: the vm bits that

Re: [HACKERS] crash-safe visibility map, take four

2011-03-31 Thread
On Wed, Mar 30, 2011 at 8:52 PM, Heikki Linnakangas heikki.linnakan...@enterprisedb.com wrote: On 30.03.2011 06:24, 高增琦 wrote: Should we do full-page write for visibilitymap all the time? Now, when clear visiblitymap, there is no full-page write for vm since we don't save buffer info

Re: [HACKERS] crash-safe visibility map, take four

2011-03-31 Thread
2011/3/30 Robert Haas robertmh...@gmail.com Maybe we could check PD_ALL_VISIBLE before taking the buffer lock - if it appears to be set, then we pin the visibility map page before taking the buffer lock. Otherwise, we take the buffer lock at once. Either way, once we have the lock, we

Re: [HACKERS] How can I build OSSP UUID support on Windows to avoid duplicate UUIDs?

2016-01-31 Thread
: ( still don't know how to build ossp-uuid on windows with MSVC. Saito san's patch doesn't fix all errors during compiling... I will try to combine this patch and the win32build on sf.net Same questions again: How was the dll file in the community binary built? How to avoid duplicate UUIDs

Re: [HACKERS] Do we support using agg or window functions in delete statement?

2017-01-11 Thread
Thanks a lot for reply. 2017-01-11 20:46 GMT+08:00 Tom Lane : > =?UTF-8?B?6auY5aKe55Cm?= writes: > > In transformDeleteStmt: > > > qry->hasWindowFuncs = pstate->p_hasWindowFuncs; > > qry->hasAggs = pstate->p_hasAggs; > > if (pstate->p_hasAggs) >

[HACKERS] Do we support using agg or window functions in delete statement?

2017-01-10 Thread
Hi, In transformDeleteStmt: qry->hasWindowFuncs = pstate->p_hasWindowFuncs; qry->hasAggs = pstate->p_hasAggs; if (pstate->p_hasAggs) parseCheckAggregates(pstate, qry); These code set agg and window function status for delete query, but there is no similar code in

Re: [HACKERS] Declarative partitioning - another take

2017-01-03 Thread
Server crash(failed assertion) when two "insert" in one SQL: Step to reproduce: create table t(a int, b int) partition by range(a); create table t_p1 partition of t for values from (1) to (100); create table t_p2 partition of t for values from (100) to (200); create table t_p3 partition of t for

Re: [HACKERS] Declarative partitioning - another take

2016-12-27 Thread
Hi , I tried "COPY FROM" in the git version. It inserts rows to wrong partition. step to reproduce: create table t(a int, b int) partition by range(a); create table t_p1 partition of t for values from (1) to (100); create table t_p2 partition of t for values from (100) to (200); create table

[HACKERS] typo for using "OBJECT_TYPE" for "security label on domain" in "gram.y"

2017-08-02 Thread
Commit: 3f88672a4e4d8e648d24ccc65937da61c7660854 add "security label on domain" in "gram.y", and set "objtype" to "OBJECT_TYPE". Is this a typo? -- GaoZengqi pgf...@gmail.com zengqi...@gmail.com

Re: [HACKERS] Dropping a partitioned table takes too long

2017-04-25 Thread
The attached patch try to replace 'heap_open' with 'LockRelationOid' when locking parent table. It improved dropping a table with 7000 partitions. 2017-04-25 15:07 GMT+08:00 Amit Langote : > $SUBJECT, if the table has, say, 2000 partitions. > > The main reason

Re: [HACKERS] Dropping a partitioned table takes too long

2017-04-28 Thread
It seems that in 'load_relcache_init_file()', we forget to initialize 'rd_pdcxt' of relcache. 2017-04-27 0:33 GMT+08:00 Robert Haas : > On Wed, Apr 26, 2017 at 12:22 PM, Tom Lane wrote: > > Robert Haas writes: > >> On Tue, Apr

Re: [HACKERS] Try to fix endless loop in ecpg with informix mode

2017-11-01 Thread
return false; +} while (isdigit(**scan_length)); } if (**scan_length != ' ' && **scan_length != '\0') ``` 2017-11-02 11:07 GMT+08:00 高增琦 <pgf...@gmail.com>: > Thanks for commit. > > I am afraid the changes may separate "7.a" to "7

Re: [HACKERS] Try to fix endless loop in ecpg with informix mode

2017-11-01 Thread
Thanks for commit. I am afraid the changes may separate "7.a" to "7" and "a", then error out with "invalid input syntax for type int" for "a". How about changes as below? (use following the if to decide true or false) ``` -} while (**scan_length != ' ' && **scan_length != '\0'); -

Re: [HACKERS] Try to fix endless loop in ecpg with informix mode

2017-11-01 Thread
Any comments? 2017-10-26 16:03 GMT+08:00 高增琦 <pgf...@gmail.com>: > Hi, > > I tried some tests with ecpg informix mode. > When trying to store float data into a integer var, I got endless loop. > > The reason is: > In informix mode, ecpg can accept > string form o

Re: [HACKERS] Try to fix endless loop in ecpg with informix mode

2017-11-03 Thread
Hi, I found the last commit changed as: ``` /* skip invalid characters */ do { (*scan_length)++; - } while (**scan_length != ' ' && **scan_length != '\0' && isdigit(**scan_length)); + } while (isdigit(**scan_length)); return

[HACKERS] Try to fix endless loop in ecpg with informix mode

2017-10-26 Thread
Hi, I tried some tests with ecpg informix mode. When trying to store float data into a integer var, I got endless loop. The reason is: In informix mode, ecpg can accept string form of float number when processing query result. During checking the string form of float number, it seems that ecpg