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

2017-11-02 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

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

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

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 高增琦 : > 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

[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 fo

[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-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 25, 2017 at 10:05 PM, Amit Langote > >> wrote: > >>> Your patch see

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 seems to be that RelationBuildPartit

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) > > parseCheckAggregates(pstate,

[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 transformIns

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 v

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 t_p

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 then

Re: [HACKERS] buffer locking fix for lazy_scan_heap

2015-08-02 Thread
Hi, sorry for asking this really old commit. http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=7ab9b2f3b79177e501a1ef90ed004cc68788abaf I could not understand why "releases the lock on the buffer" is a problem since vacuum will lock and check the page bit again before set the vm.

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 wrote: > On Thu, Dec 15, 2011 at 8:30 AM, 高增琦 wrote: > > I found this several days ago when I try to debug a "fetch" of cursor. > > And I have sent

[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 (1),(3),(5),(

[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", FillPortalSto

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

2011-03-31 Thread
2011/3/30 Robert Haas > 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 > recheck the bit. Onl

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 >&

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] 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 wrote: > On Mon, Jun 14, 2010 at 1:19 AM, Heikki Linnakangas > wrote: > >> I *think* that the answer to this parenthesized quest