Thread: updated win32 patch
Folks, This is the first baby steps toward merging PeerDirect's Win32 work with CVS HEAD. I started off with the "low hanging fruit" -- a bunch of the changes in the patch against 7.2.1 have already been merged, or are no longer applicable to current sources. I've attached a modified version of Jan's patch with the following changes: - remove changes to pl_handler.c, pl_funcs.c, pl_exec.c, transam.c, varsup.c, xact.c, keywords.c, gram.y, inet_net_ntop.c, inet_net_ptop.c, adt/misc.c, postinit.c, lock.h, sinval.h, sinvaladt.h, c_keywords.c, preproc/keywords.c, preproc.y, bootparse.y, bootscan.l, deadlock.c, date.c: already applied to CVS HEAD - remove changes to password.c, exc.h: files no longer exist in CVS HEAD (and the changes made are no longer relevant) - removed changes to gram.y: all the keyword changes have been made (e.g. IN -> IN_P, ...), and AFAICS the following function that the patch adds isn't related to Win32 at all: + /* For unknown parameter type during parse */ + void set_param_type(int t, Oid typid) + { + if ((t > pfunc_num_args) || (t <= 0)) + return; + param_type_info[t - 1] = typid; + } The updated "win32-port-changes-2.diff.gz" is attached; no changes were made to "win32-port-newfiles.diff.gz". Cheers, Neil -- Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC
Attachment
Neil Conway wrote: and AFAICS the following function that the patch > adds isn't related to Win32 at all: > > + /* For unknown parameter type during parse */ > + void set_param_type(int t, Oid typid) > + { > + if ((t > pfunc_num_args) || (t <= 0)) > + return; > + param_type_info[t - 1] = typid; > + } Good catch ... That one is part of something that enables SPI preparation of plans with parameters of unknown datatype. The caller of SPI_prepare then will find the datatypes choosen by the parser/planner in the array passed in. Need to make that a separate one ... Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
Jan, have you committed this change to CVS yet? --------------------------------------------------------------------------- Jan Wieck wrote: > Neil Conway wrote: > and AFAICS the following function that the patch > > adds isn't related to Win32 at all: > > > > + /* For unknown parameter type during parse */ > > + void set_param_type(int t, Oid typid) > > + { > > + if ((t > pfunc_num_args) || (t <= 0)) > > + return; > > + param_type_info[t - 1] = typid; > > + } > > Good catch ... > > That one is part of something that enables SPI preparation of plans with > parameters of unknown datatype. The caller of SPI_prepare then will find > the datatypes choosen by the parser/planner in the array passed in. Need > to make that a separate one ... > > > Jan > > -- > #======================================================================# > # It's easier to get forgiveness for being wrong than for being right. # > # Let's break this rule - forgive me. # > #================================================== JanWieck@Yahoo.com # > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian wrote: > Jan, have you committed this change to CVS yet? No and I don't see any reason to do so. It was code we needed at PeerDirect for something that was never supposed to be contributed. I allways warned that one will have a hard time to get changes into the CVS that are only for support of proprietary stuff and of no benefit for anyone else. Jan > > --------------------------------------------------------------------------- > > Jan Wieck wrote: > >>Neil Conway wrote: >> and AFAICS the following function that the patch >> >>>adds isn't related to Win32 at all: >>> >>>+ /* For unknown parameter type during parse */ >>>+ void set_param_type(int t, Oid typid) >>>+ { >>>+ if ((t > pfunc_num_args) || (t <= 0)) >>>+ return; >>>+ param_type_info[t - 1] = typid; >>>+ } >> >>Good catch ... >> >>That one is part of something that enables SPI preparation of plans with >>parameters of unknown datatype. The caller of SPI_prepare then will find >>the datatypes choosen by the parser/planner in the array passed in. Need >>to make that a separate one ... >> >> >>Jan >> >>-- >>#======================================================================# >># It's easier to get forgiveness for being wrong than for being right. # >># Let's break this rule - forgive me. # >>#================================================== JanWieck@Yahoo.com # >> >>---------------------------(end of broadcast)--------------------------- >>TIP 3: if posting/reading through Usenet, please send an appropriate >>subscribe-nomail command to majordomo@postgresql.org so that your >>message can get through to the mailing list cleanly >> > > -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
Jan Wieck <JanWieck@Yahoo.com> writes: > Bruce Momjian wrote: >> Jan, have you committed this change to CVS yet? > No and I don't see any reason to do so. It was code we needed at > PeerDirect for something that was never supposed to be contributed. I > allways warned that one will have a hard time to get changes into the > CVS that are only for support of proprietary stuff and of no benefit for > anyone else. Also, if I am guessing correctly at the point of that code, it's largely duplicative of a feature that's already in CVS tip (PARSE message allows types of parameter symbols to be deduced by parser). regards, tom lane