Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:32941 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 50878 invoked by uid 1010); 23 Oct 2007 22:12:27 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 50863 invoked from network); 23 Oct 2007 22:12:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Oct 2007 22:12:27 -0000 X-Host-Fingerprint: 80.197.188.103 0x50c5bc67.odnxx5.adsl-dhcp.tele.dk Received: from [80.197.188.103] ([80.197.188.103:1085] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EF/5F-03376-1C17E174 for ; Tue, 23 Oct 2007 18:12:20 -0400 Message-ID: To: internals@lists.php.net Reply-To: "Lars Westermann" Date: Wed, 24 Oct 2007 00:12:30 +0200 Lines: 1056 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3138 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 X-RFC2646: Format=Flowed; Original X-Posted-By: 80.197.188.103 Subject: PDO Firebird bugfixes From: Lars.Westermann@privat.dk ("Lars Westermann") Hi! I've had a long mail-dialogue with Wez regarding bugfixes for the Interbase modules (the old interbase and the new PDO version). In the PHP_5_3 branch I have worked on the files mentioned below. As these files aren't changed from the PHP_5_2 branch, the bugfixes will easily go into the PHP_5_2 branch as well. I have attached the files for someone to review/comment before I commit anything. PDO_Firebird: ======================= ext/pdo_firebird/php_pdo_firebird_int.h: - Added default timestamp format definitions (ISO 8601) (related to bug #36128, Interbase PDO) ext/pdo_firebird/pdo_firebird.c: [DOC] Added 3 firebird specific attributes that can be set via PDO::setAttribute() to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT, PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT. These attributes are strftime format strings, and operate in the same way as the ibase.dateformat, ibase.timeformat and ibase.timestampformat ini options. ext/pdo_firebird/firebird_driver.c: - Added 3 firebird specific attributes to firebird_handle_set_attribute() - function. They control formatting of date/timestamp columns. - pdo_firebird_handle_factory() now throwing an execption if unable to attach - database (bug reports 39822 and 41522) - Fixed bug #39822 (new PDO() doesn't work with firebird) - Fixed bug #41522 (PDO firebird driver returns null if it fails to connect) ext/pdo_firebird/firebird_statement.c: # Removed dead code - Fixed bug #35386 (firebird: first row is null) - Fixed bug #36128 (Interbase PDO - timestamp columns return NULL) - Fixed bug #39700 (NUMERIC error when result precision are 7,8 or 12-14 ) Best regards Lars W. begin 666 php_pdo_firebird_int.h M+RH-"B @*RTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TK#0H@('P@4$A0(%9E M' @)" J+PT*#0HC:69N9&5F(%!(4%]01$]?1DE214)) M4D1?24Y47T@-"B-D969I;F4@4$A07U!$3U]&25)%0DE21%])3E1?2 T*#0HC M:6YC;'5D92 \:6)A7!E9&5F('-T2!T:&4@7!E(&]F('-T871E;65N="!T:&%T('=A7!E.C@[#0H)#0H)+RH@=VAE=&AE'1EPT*"5!$3U]&0E]!5%12 M7T1!5$5?1D]234%4(#T@4$1/7T%45%)?1%))5D527U-014-)1DE#+ T*"5!$ M3U]&0E]!5%127U1)345?1D]234%4+ T*"5!$3U]&0E]!5%127U1)34535$%- M4%]&3U)-050L#0I].PT*#0HC96YD:68)+RH@4$A07U!$3U]&25)%0DE21%]) M3E1?2" J+PT*#0HO*@T*("H@3&]C86P@=F%R:6%B;&5S.@T*("H@=&%B+7=I M9'1H.B T#0H@*B!C+6)A' @)" J+PT*#0HC:69D968@2$%615]#3TY&24=?2 T*(VEN8VQU9&4@ M(F-O;F9I9RYH(@T*(V5N9&EF#0H-"B-D969I;F4@7T=.55]33U520T4-"@T* M(VEN8VQU9&4@(G!H<"YH(@T*(VEN8VQU9&4@(G!H<%]I;FDN:"(-"B-I;F-L M=61E(")E>'0OR J+PT*>PT*(VEF(# -"@EP M9&]?9FER96)IWL@*B\-"GL-"@EP9&]?9FER96)IPT*"0EI9B H9&)H+3YA=71O7V-O;6UI="D@ M>PT*"0D):68@*&ES8U]C;VUM:71?=')A;G-A8W1I;VXH2"T^:7-C7W-T871U MPT*"0D)"5)%0T]21%]%4E)/4BAD8F@I.PT*"0D)?0T* M"0E](&5LPT*"0D):68@*&ES8U]R;VQL8F%C:U]TPT*"0E214-/4D1?15)23U(H M9&)H*3L-"@E]#0H-"@EI9B H2"T^9&%T95]F;W)M870I('L-"@D)969R964H M2"T^9&%T95]F;W)M870I.PT*"7T-"@EI9B H2"T^=&EM95]F;W)M870I('L- M"@D)969R964H2"T^=&EM95]F;W)M870I.PT*"7T-"@EI9B H2"T^=&EM97-T M86UP7V9OPT*"0EE9G)E92A(+3YT:6UER J+PT*"7!D;U]S=&UT7W0@*G-T M;70L('IV86P@*F1R:79EPT*"0EIF5N9%]H87-H M7VEN:70H;G L(#@L($Y53$PL($Y53$PL(# I.PT*"0D-"@D)+RH@86QL;V-A M=&4@86YD('!R97!APT*"0D)8G)E86L[#0H)"7T-"@D- M"@D)+RH@86QL;V-A=&4@82!S=&%T96UE;G0@:&%N9&QE('-TF5O9BA84U%,1$$I M("L@6%-13$1!7TQ%3D=42"AN=6U?7!E("HO#0H)"6EF("AIPT*"0D)"6)R M96%K.PT*"0D)?0T*"0E]#0H)#0H)"7-T;70M/F1R:79EF5N9%]H87-H7V1EPT* M"0EI9B H4RT^:6Y?&5C=71E(&$@WM[("HO#0I[#0H)<&1O7V9IR!I%]I;G1E9V5R*"9R97-U;'1;,5TL,BD[#0H- M"@D)=VAI;&4@*')E%]I M;G1E9V5R*"9R97-U;'1;:2LQ72PR*3L-"@D)"6EF("AR97-U;'1;:5T@(3T@ M:7-C7VEN9F]?PT*"0D)"7)E=" K/2!IPT*"0E214-/4D1?15)23U(H9&)H*3L-"@E]#0H-"@ER971U2!T:&4@4$1/(%-13"!P87)S M97(@=&\@861D('%U;W1ER J+PT*"6-H87(@*BIQ=6]T960L(&EN=" J<75O M=&5D;&5N+"!E;G5M('!D;U]P87)A;5]T>7!E('!APT*"0EC:&%R(&-O;G-T("IL+" JPT*"0D)*G!T<&(K*R ](&ES8U]T<&)?8V]N8W5R4$1/7U1204Y37U-%4DE!3$E:04),12D[#0H)"7T-"@E]#0H) M"0T*"6EF("AD8F@M/G1R86YS86-T:6]N7V9L86=S("8@4$1/7U1204Y37T%# M0T534U]-3T1%*2![#0H)"6EF("AD8F@M/G1R86YS86-T:6]N7V9L86=S("8@ M4$1/7U1204Y37U)%041/3DQ9*2![#0H)"0DJ<'1P8BLK(#T@:7-C7W1P8E]R M96%D.PT*"0D)9&)H+3YTPT*"0D)*G!T<&(K*R ](&ES8U]T<&)?=W)I=&4[#0H)"0ED8F@M/G1R86YS M86-T:6]N7V9L86=S("8]('XH4$1/7U1204Y37T%#0T534U]-3T1%7E!$3U]4 M4D%.4U]214%$5U))5$4I.PT*"0E]#0H)?0T*#0H):68@*&1B:"T^=')A;G-A M8W1I;VY?9FQA9W,@)B!01$]?5%)!3E-?0T].1DQ)0U1?4D533TQ55$E/3BD@ M>PT*"0EI9B H9&)H+3YTPT*"0D)*G!T<&(K*R ](&ES8U]T<&)?=V%I=#L-"@D)"61B:"T^ M=')A;G-A8W1I;VY?9FQA9W,@)CT@?BA01$]?5%)!3E-?0T].1DQ)0U1?4D53 M3TQ55$E/3EY01$]?5%)!3E-?4D544EDI.PT*"0E](&5LPT*"0D)*G!T M<&(K*R ](&ES8U]T<&)?;F]W86ET.PT*"0D)9&)H+3YTPT*"0E214-/ M4D1?15)23U(H9&)H*3L-"@D)R J+PT*>PT* M"7!D;U]F:7)E8FER9%]D8E]H86YD;&4@*D@@/2 H<&1O7V9IR J M+PT*>PT*"7!D;U]F:7)E8FER9%]D8E]H86YD;&4@*D@@/2 H<&1O7V9IWM[("HO#0H)6%-13$1!("IO=71?PT*"7!D;U]F:7)E8FER9%]D8E]H86YD;&4@*D@@/2 H M<&1O7V9IPT*"0ES=')C<'DH9&)H+3YEPT*"0E214-/4D1?15)23U(H9&)H*3L-"@D)PT*"0D)"0DJ<'!N86UE*RL@/2 P.PT*"0D) M"0EI9B H;F%M961?<&%R86US*2![#0H)"0D)"0EZ96YD7VAAF5O9BAL;VYG*2LQ M+$Y53$PI.PT*"0D)"0E]#0H)"0D)?0T*"0D)?0T*"0E]#0H)"2IC*RL@/2!S M<6Q;;%T[#0H)?0T*#0H)+RH@<')E<&%R92!T:&4@PT* M"0E214-/4D1?15)23U(H9&)H*3L-"@D)969R964H;F5W7W-Q;"D[#0H)"7)E M='5R;B P.PT*"7T-"@D-"@EE9G)E92AN97=?PT*"0D)"6EF("AD8F@M M/FEN7W1X;BD@>PT*"0D)"0EI9B H6E]"5D%,7U H=F%L*2D@>PT*"0D)"0D) M+RH@='5R;FEN9R!O;B!A=71O7V-O;6UI="!W:71H(&%N(&]P96X@=')A;G-A M8W1I;VX@:7,@:6QL96=A;"P@8F5C875S90T*"0D)"0D)(" @=V4@=V]N)W0@ M:VYO=R!W:&%T('1O(&1O('=I=&@@:70@*B\-"@D)"0D)"4@M/FQAWL@*B\-"GL-"@EI M9B H87)G*2![#0H)"6EF("@J*&-H87(J*6%R9RD@>R O*B!S96-O;F0@8V%L M;" J+PT*"0D)PT*"0D)"6)R96%K.PT*"0D)?0T*"0D):6YF;U]F=6YC(#T@*&EN9F]? M9G5N8U]T*4=E=%!R;V-!9&1R97-S*&PL(")IWL@*B\-"GL@(" @(" @#0H)<&1O M7V9IWM[("HO#0H)9FER96)IR J+PT*>PT*"7-TR B9&)N86UE M(BP@3E5,3"P@,"!]+ T*"0E[(")C:&%RR BR -"@D)"6ES8U]D<&)?=7-E7!E+"!IPT*"0D)"61P8E]L96X@/2!S;'!R:6YT9BAD<&(L(&)U9E]L96XL M("(E8R5C)7,B+"!D<&)?9FQA9W-;:5TL("AU;G-I9VYE9"!C:&%R*7-TF5O9BAV87)S*2]S:7IE;V8H=F%RPT*"0EI9B H=F%R&-E<'1I;VY?97@H<&AP7W!D;U]G971?97AC97!T:6]N M*"DL(# @5%-234Q37T-#+" B4U%,4U1!5$5;)7-=(%LE9%T@)7,B+ T*"0D) M"2)(63 P,"(L("AS:&]R="D@2"T^:7-C7W-T871UWM[("HO#0H)4$1/7T12259%4E](14%$15(H9FER96)I0T*?3L-"B\J('U]?2 J+PT* M#0HO*@T*("H@3&]C86P@=F%R:6%B;&5S.@T*("H@=&%B+7=I9'1H.B T#0H@ M*B!C+6)A' @)" J+PT*#0HC:69D968@2$%615]#3TY&24=?2 T*(VEN8VQU M9&4@(F-O;F9I9RYH(@T*(V5N9&EF#0H-"B-I;F-L=61E(")P:' N:"(-"B-I M;F-L=61E(")P:'!?:6YI+F@B#0HC:6YC;'5D92 B97AT+W-T86YD87)D+VEN M9F\N:"(-"B-I;F-L=61E(")P9&\O<&AP7W!D;RYH(@T*(VEN8VQU9&4@(G!D M;R]P:'!?<&1O7V1R:79EWL@*B\-"GL-"@EI;G0@:3L-"@D-"@EF;W(@*&D@/2 P.R!I M(#P@PT*"0E84U%,5D%2(&-O;G-T("IV87(@ M/2 FPT*"0D)969R964H=F%R+3YS<6QI;F0I.PT*"0E]#0H)?0T*?0T*+RH@?7U] M("HO#0H)#0HO*B!C86QL960@8GD@4$1/('1O(&-L96%N('5P(&$@R J+PT*>PT*"7!D M;U]F:7)E8FER9%]S=&UT("I3(#T@*'!D;U]F:7)E8FER9%]S=&UT*BES=&UT M+3YDPT*"0EI9B H4RT^9F5T8VA?8G5F6VE=*2![#0H) M"0EE9G)E92A3+3YF971C:%]B=69;:5TI.PT*"0E]#0H)?0T*"65FF5N9%]H87-H7V1E2!01$\@=&\@97AE8W5T92!A M('!R97!AWM[("HO M#0I[#0H)<&1O7V9IPT*"0DO*B!N86UE9"!C=7)S;W)S('-H M;W5L9"!B92!C;&]S960@9FERPT*"0D)8G)E86L[#0H)"7T-"@D)#0H)"2\J(&%S M7!E(#T](&ES8U]I;F9O7W-Q;%]S=&UT7V5X96-? M<')O8V5D=7)E("8F#0H)"0D):7-C7V1S<6Q?97AE8W5T93(H2"T^:7-C7W-T M871U&5C=71E*$@M/FES8U]S=&%T=7,L("9(+3YTWL@*B\-"@EE;G5M('!D;U]F971C:%]O2AS=&UT M+3YE&AA=7-T960I('L-"@T*"0DO*B!A;B!%6$5#551%(%!2 M3T-%1%5212!S=&%T96UE;G0@8V%N(&)E(&9E=&-H960@9G)O;2!O;F-E+"!W M:71H;W5T(&-A;&QI;F<@=&AE($%022P@8F5C875S90T*"0D@*B!T:&4@&5C M7W!R;V-E9'5R92D@>PT*"0D)4RT^97AH875S=&5D(#T@,3L-"@D)?2!E;'-E M('L-"@D)"6EF("AIPT*"0D)"0E214-/4D1?15)23U(H2!01$\@=&\@R J+PT*>PT*"7!D;U]F:7)E8FER9%]S=&UT M("I3(#T@*'!D;U]F:7)E8FER9%]S=&UT*BES=&UT+3YD7!E(#T@ M4$1/7U!!4D%-7U-44CL-"@T*"7)E='5R;B Q.PT*?0T*+RH@?7U]("HO#0H- M"B-D969I;F4@1D540TA?0E5&*&)U9BQT>7!E+&QE;BQL96YV87(I("@H8G5F M*2 ]("AB=68I(#\@*&)U9BD@.B!<#0H)96UA;&QO8R@H;&5N*2 _("AL96X@ M*B!S:7IE;V8H='EP92DI(#H@*"@J*'5NR J+PT*"75NPT* M"7!D;U]F:7)E8FER9%]S=&UT("I3(#T@*'!D;U]F:7)E8FER9%]S=&UT*BES M=&UT+3YDPT*"0EU;G-I9VYE9"!S:&]R="!I=&5M7VQE;CL-"@D)8VAA MF4B.PT*"0D)9V]T;R!F971C:%]B;&]B7V5N9#L-"@D) M?0D)"0D)"0D)#0H-"@D):71E;5]L96X@/2 H=6YS:6=N960@F4@/2 H*FQE;BUC=7)?;&5N*2 ^(%532%)47TU!6" _(%53 M2%)47TU!6 T*"0D)"3H@*'5NWM[("HO#0H)=6YS:6=N960@;&]N9R J;&5N+"!I;G0@*F-A;&QE MPT*"0D)"6-APT*"0D)"2IL96X@ M/2!S;'!R:6YT9B@J<'1R+"!#2$%27T)51E],14XL("(E(B!,3%]-05-+(")D M+B4P*B(@3$Q?34%32R B9"(L#0H)"0D)"6X@+R!F+" M=F%R+3YS<6QS8V%L M92P@+6X@)2!F*3L)"0D)#0H)"0D@?2!E;'-E('L-"@D)"0DJ;&5N(#T@"@F<&%R86TI.PT*"0T* M"69OPT*#0H)"6-H=6YK7W-I>F4@ M/2!R96U?8VYT(#X@55-(4E1?34%8(#\@55-(4E1?34%8(#H@*'5NG9A;%]D=&]R*'!AR J+PT*"65N=6T@<&1O7W!APT*"7!D;U]F:7)E8FER9%]S=&UT("I3(#T@ M*'!D;U]F:7)E8FER9%]S=&UT*BES=&UT+3YD7!E(#T](%!$3U]005)!35]%5E1?1E)%12D@>R O*B!N;W0@=7-E9" J+PT* M"0ER971U2AS=&UT+3YEPT* M"0EL;VYG("II;F1E>#L-"@T*"0DO*B!T"!B>2!L;V]K:6YG(&EN('1H92!N86UE9%]P87)A;7,@:&%S:" J+PT* M"0EI9B H4U5#0T534R ]/2!Z96YD7VAAPT*"0D)<&%R86TM/G!APT*"0D)"7-T M2AS=&UT+3YEF5O9BAS:&]R="E=.PT*"0D)?0T*"0D)8G)E86L[#0H)"0D-"@D) M8V%S92!01$]?4$%204U?15947T5814-?4%)%.@T*"0D):68@*"%P87)A;2T^ M:7-?<&%R86TI('L-"@D)"0EBPT* M"0D)"6-AF5O9BAL;VYG*2 ]/2 X(#\@4U%, M7TE.5#8T(#H@4U%,7TQ/3D<[#0H)"0D)"79A7!E(#T@4U%,7T1/54),13L-"@D) M"0D)=F%R+3YS<6QD871A(#T@*'9O:60J*29:7T1604Q?4"AP87)A;2T^<&%R M86UE=&5R*3L-"@D)"0D)=F%R+3YS<6QL96X@/2!S:7IE;V8H9&]U8FQE*3L- M"@D)"0D)8G)E86L[#0H)"0D)8V%S92!)4U]35%))3D7!E M*2D@>PT*"0D)"0EC87-E(%!$3U]005)!35]35%(Z#0H)"0D)"0EI9B H=F%L M=64I('L-"@D)"0D)"0E:5D%,7U-44DE.1TPH<&%R86TM/G!APT*"0D)"0D)"5I604Q?3$].1RAP87)A;2T^<&%R86UE=&5R+" J*&QO;FPT*"0D)"0EE9G)E M92AV86QU92D[#0H)"0D)?0T*"0D)"7)E='5R;B Q.PT*"0D)?0T*"0D)WL@*B\-"GL-"@EP9&]?9FER96)IPT*"0D)"5)%0T]21%]%4E)/4BAS=&UT*3L-"@D)"0ER M971UG9A;" J=F%L(%134DU,4U]$0RD@+RH@>WM[("HO#0I[#0H)<&1O7V9I MPT*"0ED969A=6QT.@T* M"0D)R O*B![>WL@*B\-"@EF:7)E8FER9%]S=&UT7V1T;W(L#0H)9FER96)I M&5C=71E+ T*"69IF5N9%]F=6YC=&EO;E]E;G1R>2!P9&]?9FER96)IR J+PT*"7M.54Q,+"!.54Q,+"!.54Q,?0T*?3L-"B\J M('U]?2 J+PT*#0IZ96YD7VUO9'5L95]E;G1R>2!P9&]?9FER96)IR O*B![>WL@*B\-"@E35$%.1$%21%]-3T153$5?2$5! M1$52+ T*"2)01$]?1FER96)IWM[("HO#0I[#0H)4D5'25-415)?4$1/7T-,05-37T-/3E-47TQ/3DR J+PT*>PT*"7!H<%]P9&]?=6YR96=IWM[("HO#0I[#0H)<&AP7VEN9F]?<')I;G1?=&%B;&5?