You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(24) |
Oct
(37) |
Nov
(42) |
Dec
(29) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(24) |
Feb
(24) |
Mar
(15) |
Apr
(55) |
May
(99) |
Jun
(70) |
Jul
(197) |
Aug
(329) |
Sep
(81) |
Oct
(141) |
Nov
(100) |
Dec
(157) |
2002 |
Jan
(96) |
Feb
(216) |
Mar
(78) |
Apr
(103) |
May
(29) |
Jun
(193) |
Jul
(130) |
Aug
(215) |
Sep
(262) |
Oct
(655) |
Nov
(1009) |
Dec
(655) |
2003 |
Jan
(413) |
Feb
(939) |
Mar
(527) |
Apr
(538) |
May
(439) |
Jun
(295) |
Jul
(681) |
Aug
(810) |
Sep
(835) |
Oct
(730) |
Nov
(988) |
Dec
(787) |
2004 |
Jan
(559) |
Feb
(480) |
Mar
(749) |
Apr
(565) |
May
(748) |
Jun
(529) |
Jul
(454) |
Aug
(714) |
Sep
(628) |
Oct
(857) |
Nov
(1153) |
Dec
(617) |
2005 |
Jan
(603) |
Feb
(444) |
Mar
(377) |
Apr
(579) |
May
(664) |
Jun
(407) |
Jul
(363) |
Aug
(326) |
Sep
(527) |
Oct
(522) |
Nov
(387) |
Dec
(540) |
2006 |
Jan
(355) |
Feb
(242) |
Mar
(563) |
Apr
(768) |
May
(482) |
Jun
(427) |
Jul
(440) |
Aug
(314) |
Sep
(299) |
Oct
(403) |
Nov
(333) |
Dec
(389) |
2007 |
Jan
(247) |
Feb
(335) |
Mar
(391) |
Apr
(562) |
May
(345) |
Jun
(202) |
Jul
(239) |
Aug
(288) |
Sep
(510) |
Oct
(320) |
Nov
(487) |
Dec
(387) |
2008 |
Jan
(575) |
Feb
(539) |
Mar
(762) |
Apr
(648) |
May
(625) |
Jun
(522) |
Jul
(382) |
Aug
(191) |
Sep
(426) |
Oct
(231) |
Nov
(305) |
Dec
(670) |
2009 |
Jan
(582) |
Feb
(595) |
Mar
(294) |
Apr
(461) |
May
(445) |
Jun
(597) |
Jul
(408) |
Aug
(542) |
Sep
(476) |
Oct
(437) |
Nov
(587) |
Dec
(722) |
2010 |
Jan
(456) |
Feb
(319) |
Mar
(437) |
Apr
(303) |
May
(276) |
Jun
(233) |
Jul
(155) |
Aug
(208) |
Sep
(136) |
Oct
(274) |
Nov
(241) |
Dec
(106) |
2011 |
Jan
(160) |
Feb
(244) |
Mar
(138) |
Apr
(235) |
May
(208) |
Jun
(196) |
Jul
(107) |
Aug
(77) |
Sep
(109) |
Oct
(165) |
Nov
(86) |
Dec
(211) |
2012 |
Jan
(188) |
Feb
(136) |
Mar
(273) |
Apr
(185) |
May
(149) |
Jun
(146) |
Jul
(73) |
Aug
(127) |
Sep
(103) |
Oct
(87) |
Nov
(159) |
Dec
(149) |
2013 |
Jan
(74) |
Feb
(112) |
Mar
(176) |
Apr
(139) |
May
(116) |
Jun
(160) |
Jul
(161) |
Aug
(124) |
Sep
(124) |
Oct
(82) |
Nov
(137) |
Dec
(128) |
2014 |
Jan
(116) |
Feb
(121) |
Mar
(134) |
Apr
(177) |
May
(146) |
Jun
(158) |
Jul
(154) |
Aug
(79) |
Sep
(60) |
Oct
(90) |
Nov
(184) |
Dec
(201) |
2015 |
Jan
(163) |
Feb
(263) |
Mar
(406) |
Apr
(291) |
May
(213) |
Jun
(229) |
Jul
(229) |
Aug
(111) |
Sep
(120) |
Oct
(234) |
Nov
(155) |
Dec
(153) |
2016 |
Jan
(147) |
Feb
(188) |
Mar
(363) |
Apr
(304) |
May
(199) |
Jun
(218) |
Jul
(136) |
Aug
(128) |
Sep
(120) |
Oct
(123) |
Nov
(102) |
Dec
(156) |
2017 |
Jan
(123) |
Feb
(114) |
Mar
(132) |
Apr
(44) |
May
(143) |
Jun
(83) |
Jul
(98) |
Aug
(59) |
Sep
(58) |
Oct
(12) |
Nov
(14) |
Dec
(16) |
2018 |
Jan
(18) |
Feb
(24) |
Mar
(41) |
Apr
(16) |
May
(19) |
Jun
(31) |
Jul
(3) |
Aug
(33) |
Sep
(11) |
Oct
(11) |
Nov
|
Dec
|
2019 |
Jan
(21) |
Feb
(66) |
Mar
(72) |
Apr
(69) |
May
(63) |
Jun
(49) |
Jul
(55) |
Aug
(38) |
Sep
(66) |
Oct
(51) |
Nov
(66) |
Dec
(97) |
2020 |
Jan
(98) |
Feb
(95) |
Mar
(83) |
Apr
(121) |
May
(91) |
Jun
(137) |
Jul
(94) |
Aug
(91) |
Sep
(60) |
Oct
(81) |
Nov
(82) |
Dec
(64) |
2021 |
Jan
(66) |
Feb
(50) |
Mar
(52) |
Apr
(110) |
May
(160) |
Jun
(94) |
Jul
(97) |
Aug
(99) |
Sep
(160) |
Oct
(118) |
Nov
(117) |
Dec
(119) |
2022 |
Jan
(90) |
Feb
(93) |
Mar
(75) |
Apr
(70) |
May
(61) |
Jun
(153) |
Jul
(82) |
Aug
(118) |
Sep
(127) |
Oct
(121) |
Nov
(78) |
Dec
(84) |
2023 |
Jan
(80) |
Feb
(75) |
Mar
(92) |
Apr
(103) |
May
(89) |
Jun
(89) |
Jul
(106) |
Aug
(87) |
Sep
(183) |
Oct
(128) |
Nov
(173) |
Dec
(116) |
2024 |
Jan
(144) |
Feb
(120) |
Mar
(113) |
Apr
(107) |
May
(84) |
Jun
(95) |
Jul
(100) |
Aug
(135) |
Sep
(119) |
Oct
(93) |
Nov
(91) |
Dec
(93) |
2025 |
Jan
(104) |
Feb
(165) |
Mar
(120) |
Apr
(124) |
May
(90) |
Jun
(95) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
1
(4) |
2
(1) |
3
(17) |
4
(6) |
5
(6) |
6
(5) |
7
(4) |
8
(4) |
9
|
10
(3) |
11
(3) |
12
(4) |
13
(6) |
14
(2) |
15
(1) |
16
|
17
|
18
(4) |
19
(7) |
20
(12) |
21
(11) |
22
(4) |
23
(2) |
24
(1) |
25
(5) |
26
(2) |
27
(6) |
28
(15) |
29
(8) |
30
(3) |
From: <di...@us...> - 2012-06-30 06:44:02
|
Revision: 54701 http://firebird.svn.sourceforge.net/firebird/?rev=54701&view=rev Author: dimitr Date: 2012-06-30 06:43:54 +0000 (Sat, 30 Jun 2012) Log Message: ----------- Reintegrated the recent commits. Modified Paths: -------------- firebird/tags/R2_5_2/ChangeLog firebird/tags/R2_5_2/src/jrd/build_no.h firebird/tags/R2_5_2/src/jrd/svc.cpp firebird/tags/R2_5_2/src/jrd/vio.cpp firebird/tags/R2_5_2/src/misc/writeBuildNum.sh Modified: firebird/tags/R2_5_2/ChangeLog =================================================================== --- firebird/tags/R2_5_2/ChangeLog 2012-06-30 04:50:30 UTC (rev 54700) +++ firebird/tags/R2_5_2/ChangeLog 2012-06-30 06:43:54 UTC (rev 54701) @@ -1,3 +1,43 @@ + 2012-06-29 16:29 hvlad + M src/jrd/vio.cpp +Enabled per-table runtime stats for sweeper (necessary for CORE-3656). +I don't think it will have noticeable performance penalty on current HW. + + 2012-06-29 07:14 alexpeshkoff + M src/jrd/svc.cpp +Removed unused var - thanks to Adriano + + 2012-06-28 10:53 hvlad + M src/jrd/tra.cpp +Improvement CORE-2668 : Write note into log when automatic sweep is started + + 2012-06-28 08:29 hvlad + M src/utilities/ntrace/TracePluginImpl.cpp +Missed piece (CORE-3656) + + 2012-06-28 08:07 hvlad + M src/jrd/ntrace.h + M src/jrd/tra.cpp + M src/jrd/trace/TraceJrdHelpers.h + M src/jrd/trace/TraceManager.cpp + M src/jrd/trace/TraceManager.h + M src/jrd/trace/TraceObjects.h + M src/jrd/vio.cpp + M src/jrd/vio_proto.h + M src/utilities/ntrace/TracePluginImpl.cpp + M src/utilities/ntrace/TracePluginImpl.h + M src/utilities/ntrace/fbtrace.conf + M src/utilities/ntrace/paramtable.h +Improvement CORE-3656 : Support for sweep information in Trace API + + 2012-06-28 07:27 dimitr + M doc/WhatsNew +Updated the docs. A couple of the documented changes are still pending, to be committed today. + + 2012-06-28 07:20 hvlad + M src/lock/print.cpp +Improvement CORE-3879 : Make fb_lock_print a bit more handy + 2012-06-27 11:54 alexpeshkoff M src/jrd/isc_file.cpp Backported fix for posix of CORE-3875: GBak does not check correctly parameters and backups random database with -B ":" Modified: firebird/tags/R2_5_2/src/jrd/build_no.h =================================================================== --- firebird/tags/R2_5_2/src/jrd/build_no.h 2012-06-30 04:50:30 UTC (rev 54700) +++ firebird/tags/R2_5_2/src/jrd/build_no.h 2012-06-30 06:43:54 UTC (rev 54701) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:26503 + FORMAL BUILD NUMBER:26510 */ -#define PRODUCT_VER_STRING "2.5.2.26503" -#define FILE_VER_STRING "WI-V2.5.2.26503" -#define LICENSE_VER_STRING "WI-V2.5.2.26503" -#define FILE_VER_NUMBER 2, 5, 2, 26503 +#define PRODUCT_VER_STRING "2.5.2.26510" +#define FILE_VER_STRING "WI-V2.5.2.26510" +#define LICENSE_VER_STRING "WI-V2.5.2.26510" +#define FILE_VER_NUMBER 2, 5, 2, 26510 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "5" #define FB_REV_NO "2" -#define FB_BUILD_NO "26503" +#define FB_BUILD_NO "26510" #define FB_BUILD_TYPE "V" #define FB_BUILD_SUFFIX "Firebird 2.5" Modified: firebird/tags/R2_5_2/src/jrd/svc.cpp =================================================================== --- firebird/tags/R2_5_2/src/jrd/svc.cpp 2012-06-30 04:50:30 UTC (rev 54700) +++ firebird/tags/R2_5_2/src/jrd/svc.cpp 2012-06-30 06:43:54 UTC (rev 54701) @@ -2422,8 +2422,6 @@ void Service::enqueue(const UCHAR* s, ULONG len) { - static int transferCount = 0; - if (checkForShutdown() || (svc_flags & SVC_detached)) { svc_sem_full.release(); @@ -2462,7 +2460,6 @@ } memcpy(&svc_stdout[svc_stdout_tail], s, cnt); - transferCount += cnt; svc_stdout_tail = add_val(svc_stdout_tail, cnt); s += cnt; len -= cnt; Modified: firebird/tags/R2_5_2/src/jrd/vio.cpp =================================================================== --- firebird/tags/R2_5_2/src/jrd/vio.cpp 2012-06-30 04:50:30 UTC (rev 54700) +++ firebird/tags/R2_5_2/src/jrd/vio.cpp 2012-06-30 06:43:54 UTC (rev 54701) @@ -513,16 +513,7 @@ } #endif -#ifndef DEV_BUILD - // The sweeper threads run in the background without - // any way to inspect these counters. For debugging - // purposes, they are maintained in the DEV_BUILD. - if (tdbb->tdbb_flags & TDBB_sweeper) { - return; - } -#endif - const USHORT relation_id = relation->rel_id; vcl** ptr = attachment->att_counts + count_id; Modified: firebird/tags/R2_5_2/src/misc/writeBuildNum.sh =================================================================== --- firebird/tags/R2_5_2/src/misc/writeBuildNum.sh 2012-06-30 04:50:30 UTC (rev 54700) +++ firebird/tags/R2_5_2/src/misc/writeBuildNum.sh 2012-06-30 06:43:54 UTC (rev 54701) @@ -9,7 +9,7 @@ MajorVer=2 MinorVer=5 RevNo=2 -BuildNum=26503 +BuildNum=26510 if [ "$SPECIAL_BUILD_SUFFIX" = "" ]; then # Normal builds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-30 04:50:36
|
Revision: 54700 http://firebird.svn.sourceforge.net/firebird/?rev=54700&view=rev Author: firebirds Date: 2012-06-30 04:50:30 +0000 (Sat, 30 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/branches/B2_5_Release/ChangeLog firebird/branches/B2_5_Release/src/jrd/build_no.h firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh Modified: firebird/branches/B2_5_Release/ChangeLog =================================================================== --- firebird/branches/B2_5_Release/ChangeLog 2012-06-30 04:29:35 UTC (rev 54699) +++ firebird/branches/B2_5_Release/ChangeLog 2012-06-30 04:50:30 UTC (rev 54700) @@ -1,3 +1,12 @@ + 2012-06-29 16:29 hvlad + M src/jrd/vio.cpp +Enabled per-table runtime stats for sweeper (necessary for CORE-3656). +I don't think it will have noticeable performance penalty on current HW. + + 2012-06-29 07:14 alexpeshkoff + M src/jrd/svc.cpp +Removed unused var - thanks to Adriano + 2012-06-28 10:53 hvlad M src/jrd/tra.cpp Improvement CORE-2668 : Write note into log when automatic sweep is started Modified: firebird/branches/B2_5_Release/src/jrd/build_no.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/build_no.h 2012-06-30 04:29:35 UTC (rev 54699) +++ firebird/branches/B2_5_Release/src/jrd/build_no.h 2012-06-30 04:50:30 UTC (rev 54700) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:26508 + FORMAL BUILD NUMBER:26510 */ -#define PRODUCT_VER_STRING "2.5.2.26508" -#define FILE_VER_STRING "WI-V2.5.2.26508" -#define LICENSE_VER_STRING "WI-V2.5.2.26508" -#define FILE_VER_NUMBER 2, 5, 2, 26508 +#define PRODUCT_VER_STRING "2.5.2.26510" +#define FILE_VER_STRING "WI-V2.5.2.26510" +#define LICENSE_VER_STRING "WI-V2.5.2.26510" +#define FILE_VER_NUMBER 2, 5, 2, 26510 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "5" #define FB_REV_NO "2" -#define FB_BUILD_NO "26508" +#define FB_BUILD_NO "26510" #define FB_BUILD_TYPE "V" #define FB_BUILD_SUFFIX "Firebird 2.5" Modified: firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh =================================================================== --- firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh 2012-06-30 04:29:35 UTC (rev 54699) +++ firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh 2012-06-30 04:50:30 UTC (rev 54700) @@ -9,7 +9,7 @@ MajorVer=2 MinorVer=5 RevNo=2 -BuildNum=26508 +BuildNum=26510 if [ "$SPECIAL_BUILD_SUFFIX" = "" ]; then # Normal builds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-30 04:29:42
|
Revision: 54699 http://firebird.svn.sourceforge.net/firebird/?rev=54699&view=rev Author: firebirds Date: 2012-06-30 04:29:35 +0000 (Sat, 30 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-29 16:29:13 UTC (rev 54698) +++ firebird/trunk/ChangeLog 2012-06-30 04:29:35 UTC (rev 54699) @@ -1,3 +1,23 @@ + 2012-06-29 12:44 alexpeshkoff + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/jrd/CryptoManager.cpp + M src/jrd/svc.cpp + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql + M src/yvalve/why.cpp +Anti isc_random pass + + 2012-06-29 07:13 alexpeshkoff + M src/jrd/svc.cpp +Removed unused var - thanks to Adriano + 2012-06-29 01:47 asfernandes M src/utilities/fbsvcmgr/fbsvcmgr.cpp Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-29 16:29:13 UTC (rev 54698) +++ firebird/trunk/src/jrd/build_no.h 2012-06-30 04:29:35 UTC (rev 54699) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30024 + FORMAL BUILD NUMBER:30026 */ -#define PRODUCT_VER_STRING "3.0.0.30024" -#define FILE_VER_STRING "WI-T3.0.0.30024" -#define LICENSE_VER_STRING "WI-T3.0.0.30024" -#define FILE_VER_NUMBER 3, 0, 0, 30024 +#define PRODUCT_VER_STRING "3.0.0.30026" +#define FILE_VER_STRING "WI-T3.0.0.30026" +#define LICENSE_VER_STRING "WI-T3.0.0.30026" +#define FILE_VER_NUMBER 3, 0, 0, 30026 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30024" +#define FB_BUILD_NO "30026" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-29 16:29:13 UTC (rev 54698) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-30 04:29:35 UTC (rev 54699) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30024 +BuildNum=30026 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2012-06-29 16:29:19
|
Revision: 54698 http://firebird.svn.sourceforge.net/firebird/?rev=54698&view=rev Author: hvlad Date: 2012-06-29 16:29:13 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Enabled per-table runtime stats for sweeper (necessary for CORE-3656). I don't think it will have noticeable performance penalty on current HW. Modified Paths: -------------- firebird/branches/B2_5_Release/src/jrd/vio.cpp Modified: firebird/branches/B2_5_Release/src/jrd/vio.cpp =================================================================== --- firebird/branches/B2_5_Release/src/jrd/vio.cpp 2012-06-29 12:44:41 UTC (rev 54697) +++ firebird/branches/B2_5_Release/src/jrd/vio.cpp 2012-06-29 16:29:13 UTC (rev 54698) @@ -513,16 +513,7 @@ } #endif -#ifndef DEV_BUILD - // The sweeper threads run in the background without - // any way to inspect these counters. For debugging - // purposes, they are maintained in the DEV_BUILD. - if (tdbb->tdbb_flags & TDBB_sweeper) { - return; - } -#endif - const USHORT relation_id = relation->rel_id; vcl** ptr = attachment->att_counts + count_id; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Mark R. <mro...@us...> - 2012-06-29 15:01:20
|
Update of /cvsroot/firebird/client-java/src/etc In directory vz-cvs-3.sog:/tmp/cvs-serv26228/src/etc Modified Files: release_notes.pdf release_notes.odt release_notes.html Log Message: Add additional info on connection pooling changes. Index: release_notes.html =================================================================== RCS file: /cvsroot/firebird/client-java/src/etc/release_notes.html,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- release_notes.html 8 Jun 2012 14:30:30 -0000 1.27 +++ release_notes.html 29 Jun 2012 15:01:17 -0000 1.28 @@ -5,8 +5,7 @@ <TITLE></TITLE> <META NAME="GENERATOR" CONTENT="LibreOffice 3.5 (Windows)"> <META NAME="CREATED" CONTENT="20040723;10395200"> - <META NAME="CHANGEDBY" CONTENT="Mark Rotteveel"> - <META NAME="CHANGED" CONTENT="20120608;16275298"> + <META NAME="CHANGED" CONTENT="20120629;15424158"> <META NAME="Info 1" CONTENT=""> <META NAME="Info 2" CONTENT=""> <META NAME="Info 3" CONTENT=""> @@ -191,7 +190,7 @@ require porting/building the JNI library for that platform. </P> <P CLASS="western">This driver does not supports InterBase servers -due to a Firebird-specific changes in the protocol and the database +due to Firebird-specific changes in the protocol and database attachment parameters that are sent to the server.</P> <H3 CLASS="western"><A NAME="__RefHeading__6627_1850987433"></A>Supported Java versions</H3> @@ -297,7 +296,7 @@ not work on Embedded </SPAN><I>(</I><A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-247"><I>JDBC-247</I></A><I>)</I></P> <LI><P CLASS="western" STYLE="font-style: normal">Provide workaround for characterset transliteration problems in database filenames and - other connection properties <I>(<A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-253">JDBC-253</A>)</I>; + other connection properties <I>(</I><A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-253"><I>JDBC-253</I></A><I>)</I>; see also Support for Firebird 2.5.</P> <LI><P CLASS="western" STYLE="font-style: normal">FBBackupManager does not allow 16kb page size for restore (<A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-255"><I>JDBC-255</I></A>)</P> @@ -547,7 +546,7 @@ contain several bugs with regard to pool and connection management when used by a JavaEE application server. The decision was made to write new implementations in the package <FONT FACE="Courier New, monospace"><FONT SIZE=2>org.firebirdsql.ds</FONT></FONT>.</P> -<P CLASS="western">The following implementation classess have been +<P CLASS="western">The following implementation classes have been deprecated and will be removed in Jaybird 2.3:</P> <UL> <LI><P CLASS="western"><FONT FACE="Courier New, monospace"><FONT SIZE=2>org.firebirdsql.pool.DriverConnectionPoolDataSource</FONT></FONT></P> @@ -565,7 +564,7 @@ (a normal <FONT FACE="Courier New, monospace"><FONT SIZE=2>DataSource</FONT></FONT>)</P> </UL> <P CLASS="western">We strongly urge you to switch to these new -implementations if you are using themthese classes in an application +implementations if you are using these classes in an application server. The bugs are described in <A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-86">JDBC-86</A>, <A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-93">JDBC-93</A>, <A CLASS="western" HREF="http://tracker.firebirdsql.org/browse/JDBC-131">JDBC-131</A> @@ -636,13 +635,11 @@ <P CLASS="western">From Jaybird 2.3 on <FONT FACE="Courier New, monospace"><FONT SIZE=2>(VAR)CHAR CHARACTER SET OCTETS</FONT></FONT> will be considered to be of <FONT FACE="Courier New, monospace"><FONT SIZE=2>java.sql.Types</FONT></FONT> -type <FONT FACE="Courier New, monospace"><FONT SIZE=2>(VAR)BINAR</FONT></FONT><FONT FACE="Courier New, monospace"><FONT SIZE=2>Y</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>. -This should not impact normal use of methods li</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>ke -</FONT></FONT><FONT FACE="Courier New, monospace"><FONT SIZE=2>get/setString()</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>, +type <FONT FACE="Courier New, monospace"><FONT SIZE=2>(VAR)BINARY</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>. +This should not impact normal use of methods like </FONT></FONT><FONT FACE="Courier New, monospace"><FONT SIZE=2>get/setString()</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>, but will impact the metadata and the type of object returned by </FONT></FONT><FONT FACE="Courier New, monospace"><FONT SIZE=2>getObject()</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3> -</FONT></FONT><FONT FACE="Times New Roman, serif"><FONT SIZE=3>(a -byte array instead of a String).</FONT></FONT></P> +(a byte array instead of a String).</FONT></FONT></P> <P CLASS="western"><BR><BR> </P> <H2 CLASS="western" STYLE="page-break-before: always"><A NAME="__RefHeading__8761_1080388197"></A> @@ -2101,6 +2098,24 @@ alias was defined).</FONT></FONT></P> <H2 CLASS="western" STYLE="page-break-before: always"><A NAME="__RefHeading__2807_1560579136"></A> Connection pooling with Jaybird</H2> +<P CLASS="western">As described in Important changes to Datasources, +the <FONT FACE="Courier New, monospace"><FONT SIZE=2>ConnectionPoolDataSource +</FONT></FONT>implementations in <FONT FACE="Courier New, monospace"><FONT SIZE=2>org.firebirdsql.pool</FONT></FONT> +contain some serious issues. The connection pool capability <FONT FACE="Times New Roman, serif">which +depends on these classes</FONT> will be removed in Jaybird 2.3.</P> +<P CLASS="western">This change leaves only the +<FONT FACE="Courier New, monospace"><FONT SIZE=2>ConnectionPoolDataSource</FONT></FONT> +implementations in <FONT FACE="Courier New, monospace"><FONT SIZE=2>org.firebirdsql.ds</FONT></FONT> +(for use by application server connection pools). There are no plans +to reintroduce a new standalone connection pooling capability. We +probably will migrate some of the features like statement pooling to +the normal JDBC driver.</P> +<P CLASS="western">If you require standalone connection pooling, or +use an application server which has no built-in connectionpool, +please consider using <FONT FACE="Times New Roman, serif"><FONT SIZE=3>a +third-party connection pool like C3P0, DBCP or BoneCP.</FONT></FONT></P> +<H3 CLASS="western">Description of deprecated <FONT FACE="Courier New, monospace">or</FONT><FONT FACE="Courier New, monospace">g.firebirdsql.pool</FONT> +classes</H3> <DIV ID="Warning deprecation" DIR="LTR" STYLE="background: #c0c0c0"> <P CLASS="western"><B>WARNING: This section provides information on deprecated classes,</B></P> Index: release_notes.odt =================================================================== RCS file: /cvsroot/firebird/client-java/src/etc/release_notes.odt,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 Binary files /tmp/cvsLut6cp and /tmp/cvssR3atq differ Index: release_notes.pdf =================================================================== RCS file: /cvsroot/firebird/client-java/src/etc/release_notes.pdf,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 Binary files /tmp/cvshylB0n and /tmp/cvsJZQbjp differ |
From: <ale...@us...> - 2012-06-29 12:44:51
|
Revision: 54697 http://firebird.svn.sourceforge.net/firebird/?rev=54697&view=rev Author: alexpeshkoff Date: 2012-06-29 12:44:41 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Anti isc_random pass Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/jrd/CryptoManager.cpp firebird/trunk/src/jrd/svc.cpp firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql firebird/trunk/src/yvalve/why.cpp Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2012-06-29 12:44:41 UTC (rev 54697) @@ -1478,6 +1478,30 @@ PARAMETER (GDS__wroblrver2 = 335545032) INTEGER*4 GDS__trunc_limits PARAMETER (GDS__trunc_limits = 335545033) + INTEGER*4 GDS__info_access + PARAMETER (GDS__info_access = 335545034) + INTEGER*4 GDS__svc_no_stdin + PARAMETER (GDS__svc_no_stdin = 335545035) + INTEGER*4 GDS__svc_start_failed + PARAMETER (GDS__svc_start_failed = 335545036) + INTEGER*4 GDS__svc_no_switches + PARAMETER (GDS__svc_no_switches = 335545037) + INTEGER*4 GDS__svc_bad_size + PARAMETER (GDS__svc_bad_size = 335545038) + INTEGER*4 GDS__no_crypt_plugin + PARAMETER (GDS__no_crypt_plugin = 335545039) + INTEGER*4 GDS__cp_name_too_long + PARAMETER (GDS__cp_name_too_long = 335545040) + INTEGER*4 GDS__cp_process_active + PARAMETER (GDS__cp_process_active = 335545041) + INTEGER*4 GDS__cp_already_crypted + PARAMETER (GDS__cp_already_crypted = 335545042) + INTEGER*4 GDS__decrypt_error + PARAMETER (GDS__decrypt_error = 335545043) + INTEGER*4 GDS__no_providers + PARAMETER (GDS__no_providers = 335545044) + INTEGER*4 GDS__null_spb + PARAMETER (GDS__null_spb = 335545045) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/lang_helpers/gds_codes.pas 2012-06-29 12:44:41 UTC (rev 54697) @@ -746,6 +746,18 @@ gds_libtommath_generic = 335545031; gds_wroblrver2 = 335545032; gds_trunc_limits = 335545033; + gds_info_access = 335545034; + gds_svc_no_stdin = 335545035; + gds_svc_start_failed = 335545036; + gds_svc_no_switches = 335545037; + gds_svc_bad_size = 335545038; + gds_no_crypt_plugin = 335545039; + gds_cp_name_too_long = 335545040; + gds_cp_process_active = 335545041; + gds_cp_already_crypted = 335545042; + gds_decrypt_error = 335545043; + gds_no_providers = 335545044; + gds_null_spb = 335545045; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/include/gen/codetext.h 2012-06-29 12:44:41 UTC (rev 54697) @@ -735,6 +735,18 @@ {"libtommath_generic", 335545031}, {"wroblrver2", 335545032}, {"trunc_limits", 335545033}, + {"info_access", 335545034}, + {"svc_no_stdin", 335545035}, + {"svc_start_failed", 335545036}, + {"svc_no_switches", 335545037}, + {"svc_bad_size", 335545038}, + {"no_crypt_plugin", 335545039}, + {"cp_name_too_long", 335545040}, + {"cp_process_active", 335545041}, + {"cp_already_crypted", 335545042}, + {"decrypt_error", 335545043}, + {"no_providers", 335545044}, + {"null_spb", 335545045}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/include/gen/iberror.h 2012-06-29 12:44:41 UTC (rev 54697) @@ -769,6 +769,18 @@ const ISC_STATUS isc_libtommath_generic = 335545031L; const ISC_STATUS isc_wroblrver2 = 335545032L; const ISC_STATUS isc_trunc_limits = 335545033L; +const ISC_STATUS isc_info_access = 335545034L; +const ISC_STATUS isc_svc_no_stdin = 335545035L; +const ISC_STATUS isc_svc_start_failed = 335545036L; +const ISC_STATUS isc_svc_no_switches = 335545037L; +const ISC_STATUS isc_svc_bad_size = 335545038L; +const ISC_STATUS isc_no_crypt_plugin = 335545039L; +const ISC_STATUS isc_cp_name_too_long = 335545040L; +const ISC_STATUS isc_cp_process_active = 335545041L; +const ISC_STATUS isc_cp_already_crypted = 335545042L; +const ISC_STATUS isc_decrypt_error = 335545043L; +const ISC_STATUS isc_no_providers = 335545044L; +const ISC_STATUS isc_null_spb = 335545045L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1212,7 +1224,7 @@ const ISC_STATUS isc_trace_switch_param_miss = 337182758L; const ISC_STATUS isc_trace_param_act_notcompat = 337182759L; const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L; -const ISC_STATUS isc_err_max = 1156; +const ISC_STATUS isc_err_max = 1168; #else /* c definitions */ @@ -1951,6 +1963,18 @@ #define isc_libtommath_generic 335545031L #define isc_wroblrver2 335545032L #define isc_trunc_limits 335545033L +#define isc_info_access 335545034L +#define isc_svc_no_stdin 335545035L +#define isc_svc_start_failed 335545036L +#define isc_svc_no_switches 335545037L +#define isc_svc_bad_size 335545038L +#define isc_no_crypt_plugin 335545039L +#define isc_cp_name_too_long 335545040L +#define isc_cp_process_active 335545041L +#define isc_cp_already_crypted 335545042L +#define isc_decrypt_error 335545043L +#define isc_no_providers 335545044L +#define isc_null_spb 335545045L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2394,7 +2418,7 @@ #define isc_trace_switch_param_miss 337182758L #define isc_trace_param_act_notcompat 337182759L #define isc_trace_mandatory_switch_miss 337182760L -#define isc_err_max 1156 +#define isc_err_max 1168 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/include/gen/msgs.h 2012-06-29 12:44:41 UTC (rev 54697) @@ -738,6 +738,18 @@ {335545031, "Libtommath error code @1 in function @2"}, /* libtommath_generic */ {335545032, "unsupported BLR version (expected between @1 and @2, encountered @3)"}, /* wroblrver2 */ {335545033, "expected length @1, actual @2"}, /* trunc_limits */ + {335545034, "Wrong info requested in isc_svc_query() for anonymous service"}, /* info_access */ + {335545035, "No isc_info_svc_stdin in user request, but service thread requested stdin data"}, /* svc_no_stdin */ + {335545036, "Start request for anonymous service is impossible"}, /* svc_start_failed */ + {335545037, ""}, /* svc_no_switches */ + {335545038, "Size of stdin data is more than was requested from client"}, /* svc_bad_size */ + {335545039, "Crypt plugin @1 failed to load"}, /* no_crypt_plugin */ + {335545040, "Length of crypt plugin name should not exceed @1 byte"}, /* cp_name_too_long */ + {335545041, "Crypt failed - already crypting database"}, /* cp_process_active */ + {335545042, "Crypt failed - database is already in requested state"}, /* cp_already_crypted */ + {335545043, "Missing crypt plugin, but page appears encrypted"}, /* decrypt_error */ + {335545044, "No providers loaded"}, /* no_providers */ + {335545045, "NULL data with non-zero SPB length"}, /* null_spb */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/include/gen/sql_code.h 2012-06-29 12:44:41 UTC (rev 54697) @@ -733,7 +733,19 @@ {335545030, -902}, /* 710 protect_sys_tab */ {335545031, -901}, /* 711 libtommath_generic */ {335545032, -902}, /* 712 wroblrver2 */ - {335545033, -802}, /* 713 trunc_limits */ + {335545033, -551}, /* 713 trunc_limits */ + {335545034, -551}, /* 714 info_access */ + {335545035, -104}, /* 715 svc_no_stdin */ + {335545036, -551}, /* 716 svc_start_failed */ + {335545037, -104}, /* 717 svc_no_switches */ + {335545038, -104}, /* 718 svc_bad_size */ + {335545039, -104}, /* 719 no_crypt_plugin */ + {335545040, -104}, /* 720 cp_name_too_long */ + {335545041, -901}, /* 721 cp_process_active */ + {335545042, -901}, /* 722 cp_already_crypted */ + {335545043, -902}, /* 723 decrypt_error */ + {335545044, -902}, /* 724 no_providers */ + {335545045, -104}, /* 725 null_spb */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/include/gen/sql_state.h 2012-06-29 12:44:41 UTC (rev 54697) @@ -733,7 +733,19 @@ {335545030, "42000"}, // 710 protect_sys_tab {335545031, "2F000"}, // 711 libtommath_generic {335545032, "HY000"}, // 712 wroblrver2 - {335545033, "22001"}, // 713 trunc_limits + {335545033, "28000"}, // 713 trunc_limits + {335545034, "28000"}, // 714 info_access + {335545035, "HY024"}, // 715 svc_no_stdin + {335545036, "28000"}, // 716 svc_start_failed + {335545037, "HY024"}, // 717 svc_no_switches + {335545038, "HY109"}, // 718 svc_bad_size + {335545039, "HY024"}, // 719 no_crypt_plugin + {335545040, "22001"}, // 720 cp_name_too_long + {335545041, "42818"}, // 721 cp_process_active + {335545042, "42818"}, // 722 cp_already_crypted + {335545043, "39000"}, // 723 decrypt_error + {335545044, "39000"}, // 724 no_providers + {335545045, "42818"}, // 725 null_spb {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/jrd/CryptoManager.cpp =================================================================== --- firebird/trunk/src/jrd/CryptoManager.cpp 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/jrd/CryptoManager.cpp 2012-06-29 12:44:41 UTC (rev 54697) @@ -67,7 +67,7 @@ { if (!header) { - (Arg::Gds(isc_random) << "Header page fetch failed").raise(); + ERR_punt(); } } @@ -201,8 +201,7 @@ upInfo, dbb.dbb_config, pluginName); if (!cryptControl.hasData()) { - (Arg::Gds(isc_random) << - "Invalid crypt plugin name").raise(); + (Arg::Gds(isc_no_crypt_plugin) << pluginName).raise(); } // do not assign cryptPlugin directly before key init complete @@ -216,8 +215,7 @@ { if (plugName.length() > 31) { - (Arg::Gds(isc_random) << - "Crypt plugin name should not be >31 bytes").raise(); + (Arg::Gds(isc_cp_name_too_long) << Arg::Num(31)).raise(); } bool newCryptState = plugName.hasData(); @@ -228,15 +226,13 @@ // Check header page for flags if (hdr->hdr_flags & Ods::hdr_crypt_process) { - (Arg::Gds(isc_random) << - "Crypt failed - already crypting database").raise(); + (Arg::Gds(isc_cp_process_active)).raise(); } bool headerCryptState = hdr->hdr_flags & Ods::hdr_encrypted; if (headerCryptState == newCryptState) { - (Arg::Gds(isc_random) << - "Crypt failed - database is already in requested state").raise(); + (Arg::Gds(isc_cp_already_crypted)).raise(); } fb_assert(stateLock); @@ -503,7 +499,7 @@ if (!cryptPlugin) { - (Arg::Gds(isc_random) << "Not crypt mode, but page appears encrypted").copyTo(sv); + (Arg::Gds(isc_decrypt_error)).raise(); return false; } } Modified: firebird/trunk/src/jrd/svc.cpp =================================================================== --- firebird/trunk/src/jrd/svc.cpp 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/jrd/svc.cpp 2012-06-29 12:44:41 UTC (rev 54697) @@ -1126,7 +1126,7 @@ break; default: status_exception::raise(Arg::Gds(isc_bad_spb_form) << - Arg::Gds(isc_random) << "wrong info request for anonymous service"); + Arg::Gds(isc_info_access)); break; } } @@ -1515,7 +1515,7 @@ } else { - (Arg::Gds(isc_random) << "No request from user for stdin data").raise(); + (Arg::Gds(isc_svc_no_stdin)).raise(); } } @@ -1971,7 +1971,7 @@ if (svc_user_flag == SVC_user_none) { status_exception::raise(Arg::Gds(isc_bad_spb_form) << - Arg::Gds(isc_random) << "start request for anonymous service is impossible"); + Arg::Gds(isc_svc_start_failed)); } { // scope for locked globalServicesMutex @@ -2055,7 +2055,7 @@ if ((!svc_switches.hasData()) && svc_id != isc_action_svc_get_fb_log) { status_exception::raise(Arg::Gds(isc_bad_spb_form) << - Arg::Gds(isc_random) << "all services except for get_ib_log require switches"); + Arg::Gds(isc_svc_no_switches)); } // Do not let everyone look at server log @@ -2371,7 +2371,7 @@ // check length correctness if (length > svc_stdin_size_requested && length > svc_stdin_preload_requested) { - (Arg::Gds(isc_random) << "Size of data is more than requested").raise(); + (Arg::Gds(isc_svc_bad_size)).raise(); } if (svc_stdin_size_requested) // service waits for data from us Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/msgs/facilities2.sql 2012-06-29 12:44:41 UTC (rev 54697) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2012-06-05 15:01:35', 'JRD', 0, 714) +('2012-06-29 16:14:26', 'JRD', 0, 726) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2009-07-16 05:26:11', 'GFIX', 3, 121) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/msgs/messages2.sql 2012-06-29 12:44:41 UTC (rev 54697) @@ -821,6 +821,18 @@ ('libtommath_generic', 'check', 'BigInteger.cpp', NULL, 0, 711, NULL, 'Libtommath error code @1 in function @2', NULL, NULL) ('wroblrver2', NULL, NULL, NULL, 0, 712, NULL, 'unsupported BLR version (expected between @1 and @2, encountered @3)', NULL, NULL); ('trunc_limits', NULL, NULL, NULL, 0, 713, NULL, 'expected length @1, actual @2', NULL, NULL); +('info_access', NULL, 'svc.cpp', NULL, 0, 714, NULL, 'Wrong info requested in isc_svc_query() for anonymous service', NULL, NULL); +('svc_no_stdin', NULL, 'svc.cpp', NULL, 0, 715, NULL, 'No isc_info_svc_stdin in user request, but service thread requested stdin data', NULL, NULL); +('svc_start_failed', NULL, 'svc.cpp', NULL, 0, 716, NULL, 'Start request for anonymous service is impossible', NULL, NULL); +('svc_no_switches', NULL, 'svc.cpp', NULL, 0, 717, NULL, '', NULL, NULL); +('svc_bad_size', NULL, 'svc.cpp', NULL, 0, 718, NULL, 'Size of stdin data is more than was requested from client', NULL, NULL); +('no_crypt_plugin', NULL, 'CryptoManager.cpp', NULL, 0, 719, NULL, 'Crypt plugin @1 failed to load', NULL, NULL); +('cp_name_too_long', NULL, 'CryptoManager.cpp', NULL, 0, 720, NULL, 'Length of crypt plugin name should not exceed @1 byte', NULL, NULL); +('cp_process_active', NULL, 'CryptoManager.cpp', NULL, 0, 721, NULL, 'Crypt failed - already crypting database', NULL, NULL); +('cp_already_crypted', NULL, 'CryptoManager.cpp', NULL, 0, 722, NULL, 'Crypt failed - database is already in requested state', NULL, NULL); +('decrypt_error', NULL, 'CryptoManager.cpp', NULL, 0, 723, NULL, 'Missing crypt plugin, but page appears encrypted', NULL, NULL); +('no_providers', NULL, 'why.cpp', NULL, 0, 724, NULL, 'No providers loaded', NULL, NULL); +('null_spb', NULL, 'why.cpp', NULL, 0, 725, NULL, 'NULL data with non-zero SPB length', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/msgs/system_errors2.sql 2012-06-29 12:44:41 UTC (rev 54697) @@ -719,7 +719,19 @@ -- If you have better SQL code for this, change it. (-901, '2F', '000', 0, 711, 'libtommath_generic', NULL, NULL) (-902, 'HY', '000', 0, 712, 'wroblrver2', NULL, NULL) -(-802, '22', '001', 0, 713, 'trunc_limits', NULL, NULL) +(-551, '28', '000', 0, 713, 'trunc_limits', NULL, NULL) +(-551, '28', '000', 0, 714, 'info_access', NULL, NULL) +(-104, 'HY', '024', 0, 715, 'svc_no_stdin', NULL, NULL) +(-551, '28', '000', 0, 716, 'svc_start_failed', NULL, NULL) +(-104, 'HY', '024', 0, 717, 'svc_no_switches', NULL, NULL) +(-104, 'HY', '109', 0, 718, 'svc_bad_size', NULL, NULL) +(-104, 'HY', '024', 0, 719, 'no_crypt_plugin', NULL, NULL) +(-104, '22', '001', 0, 720, 'cp_name_too_long', NULL, NULL) +(-901, '42', '818', 0, 721, 'cp_process_active', NULL, NULL) +(-901, '42', '818', 0, 722, 'cp_already_crypted', NULL, NULL) +(-902, '39', '000', 0, 723, 'decrypt_error', NULL, NULL) +(-902, '39', '000', 0, 724, 'no_providers', NULL, NULL) +(-104, '42', '818', 0, 725, 'null_spb', NULL, NULL) -- GFIX (-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL) (-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL) Modified: firebird/trunk/src/yvalve/why.cpp =================================================================== --- firebird/trunk/src/yvalve/why.cpp 2012-06-29 07:14:39 UTC (rev 54696) +++ firebird/trunk/src/yvalve/why.cpp 2012-06-29 12:44:41 UTC (rev 54697) @@ -4602,7 +4602,7 @@ if (status->isSuccess()) { (Arg::Gds(isc_service_att_err) << - Arg::Gds(isc_random) << "No providers loaded").copyTo(status); + Arg::Gds(isc_no_providers)).copyTo(status); } return NULL; @@ -4974,7 +4974,7 @@ if (spbLength > 0 && !spb) status_exception::raise(Arg::Gds(isc_bad_spb_form) << - Arg::Gds(isc_random) << "NULL data with non-zero SPB length"); + Arg::Gds(isc_null_spb)); PathName svcName(serviceName); svcName.trim(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2012-06-29 07:14:48
|
Revision: 54696 http://firebird.svn.sourceforge.net/firebird/?rev=54696&view=rev Author: alexpeshkoff Date: 2012-06-29 07:14:39 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Removed unused var - thanks to Adriano Modified Paths: -------------- firebird/branches/B2_5_Release/src/jrd/svc.cpp Modified: firebird/branches/B2_5_Release/src/jrd/svc.cpp =================================================================== --- firebird/branches/B2_5_Release/src/jrd/svc.cpp 2012-06-29 07:13:34 UTC (rev 54695) +++ firebird/branches/B2_5_Release/src/jrd/svc.cpp 2012-06-29 07:14:39 UTC (rev 54696) @@ -2422,8 +2422,6 @@ void Service::enqueue(const UCHAR* s, ULONG len) { - static int transferCount = 0; - if (checkForShutdown() || (svc_flags & SVC_detached)) { svc_sem_full.release(); @@ -2462,7 +2460,6 @@ } memcpy(&svc_stdout[svc_stdout_tail], s, cnt); - transferCount += cnt; svc_stdout_tail = add_val(svc_stdout_tail, cnt); s += cnt; len -= cnt; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2012-06-29 07:13:40
|
Revision: 54695 http://firebird.svn.sourceforge.net/firebird/?rev=54695&view=rev Author: alexpeshkoff Date: 2012-06-29 07:13:34 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Removed unused var - thanks to Adriano Modified Paths: -------------- firebird/trunk/src/jrd/svc.cpp Modified: firebird/trunk/src/jrd/svc.cpp =================================================================== --- firebird/trunk/src/jrd/svc.cpp 2012-06-29 04:33:44 UTC (rev 54694) +++ firebird/trunk/src/jrd/svc.cpp 2012-06-29 07:13:34 UTC (rev 54695) @@ -2230,8 +2230,6 @@ void Service::enqueue(const UCHAR* s, ULONG len) { - static int transferCount = 0; - if (checkForShutdown() || (svc_flags & SVC_detached)) { svc_sem_full.release(); @@ -2270,7 +2268,6 @@ } memcpy(&svc_stdout[svc_stdout_tail], s, cnt); - transferCount += cnt; svc_stdout_tail = add_val(svc_stdout_tail, cnt); s += cnt; len -= cnt; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-29 04:33:51
|
Revision: 54694 http://firebird.svn.sourceforge.net/firebird/?rev=54694&view=rev Author: firebirds Date: 2012-06-29 04:33:44 +0000 (Fri, 29 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/branches/B2_5_Release/ChangeLog firebird/branches/B2_5_Release/src/jrd/build_no.h firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh Modified: firebird/branches/B2_5_Release/ChangeLog =================================================================== --- firebird/branches/B2_5_Release/ChangeLog 2012-06-29 04:23:39 UTC (rev 54693) +++ firebird/branches/B2_5_Release/ChangeLog 2012-06-29 04:33:44 UTC (rev 54694) @@ -1,3 +1,34 @@ + 2012-06-28 10:53 hvlad + M src/jrd/tra.cpp +Improvement CORE-2668 : Write note into log when automatic sweep is started + + 2012-06-28 08:29 hvlad + M src/utilities/ntrace/TracePluginImpl.cpp +Missed piece (CORE-3656) + + 2012-06-28 08:07 hvlad + M src/jrd/ntrace.h + M src/jrd/tra.cpp + M src/jrd/trace/TraceJrdHelpers.h + M src/jrd/trace/TraceManager.cpp + M src/jrd/trace/TraceManager.h + M src/jrd/trace/TraceObjects.h + M src/jrd/vio.cpp + M src/jrd/vio_proto.h + M src/utilities/ntrace/TracePluginImpl.cpp + M src/utilities/ntrace/TracePluginImpl.h + M src/utilities/ntrace/fbtrace.conf + M src/utilities/ntrace/paramtable.h +Improvement CORE-3656 : Support for sweep information in Trace API + + 2012-06-28 07:27 dimitr + M doc/WhatsNew +Updated the docs. A couple of the documented changes are still pending, to be committed today. + + 2012-06-28 07:20 hvlad + M src/lock/print.cpp +Improvement CORE-3879 : Make fb_lock_print a bit more handy + 2012-06-27 11:54 alexpeshkoff M src/jrd/isc_file.cpp Backported fix for posix of CORE-3875: GBak does not check correctly parameters and backups random database with -B ":" Modified: firebird/branches/B2_5_Release/src/jrd/build_no.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/build_no.h 2012-06-29 04:23:39 UTC (rev 54693) +++ firebird/branches/B2_5_Release/src/jrd/build_no.h 2012-06-29 04:33:44 UTC (rev 54694) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:26503 + FORMAL BUILD NUMBER:26508 */ -#define PRODUCT_VER_STRING "2.5.2.26503" -#define FILE_VER_STRING "WI-V2.5.2.26503" -#define LICENSE_VER_STRING "WI-V2.5.2.26503" -#define FILE_VER_NUMBER 2, 5, 2, 26503 +#define PRODUCT_VER_STRING "2.5.2.26508" +#define FILE_VER_STRING "WI-V2.5.2.26508" +#define LICENSE_VER_STRING "WI-V2.5.2.26508" +#define FILE_VER_NUMBER 2, 5, 2, 26508 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "5" #define FB_REV_NO "2" -#define FB_BUILD_NO "26503" +#define FB_BUILD_NO "26508" #define FB_BUILD_TYPE "V" #define FB_BUILD_SUFFIX "Firebird 2.5" Modified: firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh =================================================================== --- firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh 2012-06-29 04:23:39 UTC (rev 54693) +++ firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh 2012-06-29 04:33:44 UTC (rev 54694) @@ -9,7 +9,7 @@ MajorVer=2 MinorVer=5 RevNo=2 -BuildNum=26503 +BuildNum=26508 if [ "$SPECIAL_BUILD_SUFFIX" = "" ]; then # Normal builds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-29 04:23:46
|
Revision: 54693 http://firebird.svn.sourceforge.net/firebird/?rev=54693&view=rev Author: firebirds Date: 2012-06-29 04:23:39 +0000 (Fri, 29 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-29 01:47:40 UTC (rev 54692) +++ firebird/trunk/ChangeLog 2012-06-29 04:23:39 UTC (rev 54693) @@ -1,3 +1,18 @@ + 2012-06-29 01:47 asfernandes + M src/utilities/fbsvcmgr/fbsvcmgr.cpp +Misc. + + 2012-06-28 11:46 alexpeshkoff + M src/jrd/cch.cpp + M src/jrd/ods.cpp + M src/jrd/ods.h + M src/jrd/validation.cpp +Improvement CORE-3588: More detail in message "wrong page type" + + 2012-06-28 07:49 hvlad + M src/lock/print.cpp +Improvement CORE-3879 : Make fb_lock_print a bit more handy + 2012-06-27 11:53 alexpeshkoff M src/common/isc_file.cpp Fixed for posix CORE-3875: GBak does not check correctly parameters and backups random database with -B ":" Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-29 01:47:40 UTC (rev 54692) +++ firebird/trunk/src/jrd/build_no.h 2012-06-29 04:23:39 UTC (rev 54693) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30021 + FORMAL BUILD NUMBER:30024 */ -#define PRODUCT_VER_STRING "3.0.0.30021" -#define FILE_VER_STRING "WI-T3.0.0.30021" -#define LICENSE_VER_STRING "WI-T3.0.0.30021" -#define FILE_VER_NUMBER 3, 0, 0, 30021 +#define PRODUCT_VER_STRING "3.0.0.30024" +#define FILE_VER_STRING "WI-T3.0.0.30024" +#define LICENSE_VER_STRING "WI-T3.0.0.30024" +#define FILE_VER_NUMBER 3, 0, 0, 30024 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30021" +#define FB_BUILD_NO "30024" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-29 01:47:40 UTC (rev 54692) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-29 04:23:39 UTC (rev 54693) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30021 +BuildNum=30024 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2012-06-29 01:47:46
|
Revision: 54692 http://firebird.svn.sourceforge.net/firebird/?rev=54692&view=rev Author: asfernandes Date: 2012-06-29 01:47:40 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Misc. Modified Paths: -------------- firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp Modified: firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp =================================================================== --- firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp 2012-06-28 11:58:19 UTC (rev 54691) +++ firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp 2012-06-29 01:47:40 UTC (rev 54692) @@ -1014,7 +1014,7 @@ Array<char> stdinBuffer; do { - char *sendBlock = send; + char* sendBlock = send; USHORT sendSize = p - send; if (stdinRequest) { @@ -1046,6 +1046,7 @@ perror("stdin"); break; } + stdinRequest = n; sendBlock[sendSize] = isc_info_svc_line; sendBlock[sendSize + 1] = stdinRequest; @@ -1055,6 +1056,7 @@ stdinRequest = 0; } + if (isc_service_query(status, &svc_handle, 0, sendSize, sendBlock, static_cast<USHORT>(spbItems.getBufferLength()), reinterpret_cast<const char*>(spbItems.getBuffer()), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2012-06-28 11:58:25
|
Revision: 54691 http://firebird.svn.sourceforge.net/firebird/?rev=54691&view=rev Author: dimitr Date: 2012-06-28 11:58:19 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Added Paths: ----------- firebird/tags/R2_5_2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2012-06-28 11:46:32
|
Revision: 54690 http://firebird.svn.sourceforge.net/firebird/?rev=54690&view=rev Author: alexpeshkoff Date: 2012-06-28 11:46:21 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Improvement CORE-3588: More detail in message "wrong page type" Modified Paths: -------------- firebird/trunk/src/jrd/cch.cpp firebird/trunk/src/jrd/ods.cpp firebird/trunk/src/jrd/ods.h firebird/trunk/src/jrd/validation.cpp Modified: firebird/trunk/src/jrd/cch.cpp =================================================================== --- firebird/trunk/src/jrd/cch.cpp 2012-06-28 10:53:54 UTC (rev 54689) +++ firebird/trunk/src/jrd/cch.cpp 2012-06-28 11:46:21 UTC (rev 54690) @@ -61,6 +61,7 @@ #include "../common/classes/ClumpletWriter.h" #include "../common/classes/MsgPrint.h" #include "../jrd/CryptoManager.h" +#include "../common/utils_proto.h" using namespace Jrd; using namespace Ods; @@ -4426,8 +4427,8 @@ Arg::Gds(isc_db_corrupt) << Arg::Str(pages->file->fil_string) << Arg::Gds(isc_page_type_err) << Arg::Gds(isc_badpagtyp) << Arg::Num(bdb->bdb_page.getPageNum()) << - Arg::Num(type) << - Arg::Num(page->pag_type)); + pagtype(type) << + pagtype(page->pag_type)); // We should invalidate this bad buffer. CCH_unwind(tdbb, true); } Modified: firebird/trunk/src/jrd/ods.cpp =================================================================== --- firebird/trunk/src/jrd/ods.cpp 2012-06-28 10:53:54 UTC (rev 54689) +++ firebird/trunk/src/jrd/ods.cpp 2012-06-28 11:46:21 UTC (rev 54690) @@ -138,4 +138,31 @@ (sizeof(index_root_page::irt_repeat) + sizeof(irtd)); } +Firebird::string pagtype(UCHAR type) +{ + // Print pretty name for database page type + + const char* nameArray[pag_max + 1] = { + "purposely undefined", + "database header", + "page inventory", + "transaction inventory", + "pointer", + "data", + "index root", + "index B-tree", + "blob", + "generators", + "SCN inventory" + }; + + Firebird::string rc; + if (type < FB_NELEM(nameArray)) + rc = nameArray[type]; + else + rc.printf("unknown (%d)", type); + + return rc; +} + } // namespace Modified: firebird/trunk/src/jrd/ods.h =================================================================== --- firebird/trunk/src/jrd/ods.h 2012-06-28 10:53:54 UTC (rev 54689) +++ firebird/trunk/src/jrd/ods.h 2012-06-28 11:46:21 UTC (rev 54690) @@ -34,6 +34,7 @@ #define JRD_ODS_H #include "../jrd/RecordNumber.h" +#include "../common/classes/fb_string.h" // This macro enables the ability of the engine to connect to databases // from ODS 8 up to the latest. If this macro is undefined, the engine @@ -629,6 +630,8 @@ #define IAD_LEN(count) (sizeof (Ods::InternalArrayDesc) + \ (count ? count - 1: count) * sizeof (Ods::InternalArrayDesc::iad_repeat)) +Firebird::string pagtype(UCHAR type); + } //namespace Ods #endif // JRD_ODS_H Modified: firebird/trunk/src/jrd/validation.cpp =================================================================== --- firebird/trunk/src/jrd/validation.cpp 2012-06-28 10:53:54 UTC (rev 54689) +++ firebird/trunk/src/jrd/validation.cpp 2012-06-28 11:46:21 UTC (rev 54690) @@ -655,7 +655,7 @@ static const TEXT msg_table[VAL_MAX_ERROR][80] = { - "Page %ld wrong type (expected %d encountered %d)", // 0 + "Page %ld wrong type (expected %s encountered %s)", // 0 "Checksum error on page %ld", "Page %ld doubly allocated", "Page %ld is used but marked free", @@ -847,7 +847,8 @@ if ((*page_pointer)->pag_type != type && type != pag_undefined) { - corrupt(tdbb, validate, VAL_PAG_WRONG_TYPE, 0, page_number, type, (*page_pointer)->pag_type); + corrupt(tdbb, validate, VAL_PAG_WRONG_TYPE, 0, page_number, + pagtype(type).c_str(), pagtype((*page_pointer)->pag_type).c_str()); return fetch_type; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2012-06-28 10:54:05
|
Revision: 54689 http://firebird.svn.sourceforge.net/firebird/?rev=54689&view=rev Author: hvlad Date: 2012-06-28 10:53:54 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Improvement CORE-2668 : Write note into log when automatic sweep is started Modified Paths: -------------- firebird/branches/B2_5_Release/src/jrd/tra.cpp Modified: firebird/branches/B2_5_Release/src/jrd/tra.cpp =================================================================== --- firebird/branches/B2_5_Release/src/jrd/tra.cpp 2012-06-28 10:13:59 UTC (rev 54688) +++ firebird/branches/B2_5_Release/src/jrd/tra.cpp 2012-06-28 10:53:54 UTC (rev 54689) @@ -1739,6 +1739,10 @@ if (dbb->dbb_flags & DBB_sweep_in_progress) return true; + if (tdbb->getAttachment()->att_flags & ATT_NO_CLEANUP) { + return true; + } + // fill out a lock block, zeroing it out first Lock temp_lock; @@ -1774,6 +1778,8 @@ tdbb->tdbb_flags |= TDBB_sweeper; + TraceSweepEvent traceSweep(tdbb); + // Start a transaction, if necessary, to perform the sweep. // Save the transaction's oldest snapshot as it is refreshed // during the course of the database sweep. Since it is used @@ -1798,8 +1804,6 @@ transaction->tra_attachment->att_flags &= ~ATT_notify_gc; #endif - TraceSweepEvent traceSweep(tdbb); - if (VIO_sweep(tdbb, transaction, &traceSweep)) { const ULONG base = transaction->tra_oldest & ~TRA_MASK; @@ -1859,6 +1863,8 @@ } // try catch (const Firebird::Exception& ex) { + iscLogException("Error during sweep:", ex); + Firebird::stuff_exception(tdbb->tdbb_status_vector, ex); try { if (!trans && transaction) @@ -3634,7 +3640,24 @@ { m_tdbb = tdbb; + WIN window(HEADER_PAGE_NUMBER); + Ods::header_page *header = (Ods::header_page*) CCH_FETCH(m_tdbb, &window, LCK_read, pag_header); + + m_sweep_info.update(header); + CCH_RELEASE(m_tdbb, &window); + Attachment* att = m_tdbb->getAttachment(); + + gds__log("Sweep is started by %s\n" + "\tDatabase \"%s\" \n" + "\tOIT %ld, OAT %ld, OST %ld, Next %ld", + att->att_user->usr_user_name.c_str(), + att->att_filename.c_str(), + m_sweep_info.getOIT(), + m_sweep_info.getOAT(), + m_sweep_info.getOST(), + m_sweep_info.getNext()); + TraceManager* trace_mgr = att->att_trace_manager; m_need_trace = trace_mgr->needs().event_sweep; @@ -3645,12 +3668,6 @@ m_tdbb->setRequest(&m_request); m_start_clock = fb_utils::query_performance_counter(); - WIN window(HEADER_PAGE_NUMBER); - Ods::header_page* header = (Ods::header_page*) CCH_FETCH(m_tdbb, &window, LCK_read, pag_header); - - m_sweep_info.update(header); - CCH_RELEASE(m_tdbb, &window); - TraceConnectionImpl conn(att); trace_mgr->event_sweep(&conn, &m_sweep_info, process_state_started); @@ -3667,11 +3684,24 @@ void TraceSweepEvent::report(ntrace_process_state_t state, jrd_rel* relation) { + Attachment* att = m_tdbb->getAttachment(); + + if (state == process_state_finished) + { + gds__log("Sweep is finished\n" + "\tDatabase \"%s\" \n" + "\tOIT %ld, OAT %ld, OST %ld, Next %ld", + att->att_filename.c_str(), + m_sweep_info.getOIT(), + m_sweep_info.getOAT(), + m_sweep_info.getOST(), + m_sweep_info.getNext()); + } + if (!m_need_trace) return; Database* dbb = m_tdbb->getDatabase(); - Attachment* att = m_tdbb->getAttachment(); TraceManager* trace_mgr = att->att_trace_manager; TraceConnectionImpl conn(att); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pc...@us...> - 2012-06-28 10:14:10
|
Revision: 54688 http://firebird.svn.sourceforge.net/firebird/?rev=54688&view=rev Author: pcisar Date: 2012-06-28 10:13:59 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Modified Paths: -------------- python/fdb/trunk/fdb.egg-info/SOURCES.txt Modified: python/fdb/trunk/fdb.egg-info/SOURCES.txt =================================================================== --- python/fdb/trunk/fdb.egg-info/SOURCES.txt 2012-06-28 09:11:12 UTC (rev 54687) +++ python/fdb/trunk/fdb.egg-info/SOURCES.txt 2012-06-28 10:13:59 UTC (rev 54688) @@ -5,6 +5,47 @@ ReleaseNotes.txt setup.cfg setup.py +docs/Python-DB-API-2.0.html +docs/beyond-python-db-api.html +docs/changelog.html +docs/concurrency.html +docs/genindex.html +docs/index.html +docs/installation.html +docs/license.html +docs/links.html +docs/modindex.html +docs/objects.inv +docs/python-db-api-compliance.html +docs/search.html +docs/searchindex.js +docs/thread-safety-overview.html +docs/tutorial.html +docs/_sources/Python-DB-API-2.0.txt +docs/_sources/beyond-python-db-api.txt +docs/_sources/changelog.txt +docs/_sources/concurrency.txt +docs/_sources/index.txt +docs/_sources/installation.txt +docs/_sources/license.txt +docs/_sources/links.txt +docs/_sources/python-db-api-compliance.txt +docs/_sources/thread-safety-overview.txt +docs/_sources/tutorial.txt +docs/_static/contents.png +docs/_static/default.css +docs/_static/doctools.js +docs/_static/file.png +docs/_static/jquery.js +docs/_static/minus.png +docs/_static/navigation.png +docs/_static/plus.png +docs/_static/pygments.css +docs/_static/rightsidebar.css +docs/_static/searchtools.js +docs/_static/sphinxdoc.css +docs/_static/stickysidebar.css +docs/_static/traditional.css fdb/__init__.py fdb/fbcore.py fdb/ibase.py @@ -15,5 +56,19 @@ fdb.egg-info/entry_points.txt fdb.egg-info/not-zip-safe fdb.egg-info/top_level.txt +sphinx/Makefile +sphinx/Python-DB-API-2.0.txt +sphinx/beyond-python-db-api.txt +sphinx/changelog.txt +sphinx/concurrency.txt +sphinx/conf.py +sphinx/index.txt +sphinx/installation.txt +sphinx/license.txt +sphinx/links.txt +sphinx/python-db-api-compliance.txt +sphinx/thread-safety-overview.txt +sphinx/tutorial.txt +sphinx/.static/default.css test/fbtest.fdb test/testfdb.py \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pc...@us...> - 2012-06-28 09:11:18
|
Revision: 54687 http://firebird.svn.sourceforge.net/firebird/?rev=54687&view=rev Author: pcisar Date: 2012-06-28 09:11:12 +0000 (Thu, 28 Jun 2012) Log Message: ----------- - Optimization and correction for P3 Modified Paths: -------------- python/fdb/trunk/test/testfdb.py Modified: python/fdb/trunk/test/testfdb.py =================================================================== --- python/fdb/trunk/test/testfdb.py 2012-06-28 08:40:57 UTC (rev 54686) +++ python/fdb/trunk/test/testfdb.py 2012-06-28 09:11:12 UTC (rev 54687) @@ -897,10 +897,9 @@ self.con.commit() self.con.close() def testCharVarchar(self): - if ibase.PYTHON_MAJOR_VER == 3: - s = 'Introdução' - else: - s = u'Introdução' + s = 'Introdução' + if ibase.PYTHON_MAJOR_VER != 3: + s = s.decode('utf8') assert len(s) == 10 data = tuple([1,s,s]) cur = self.con.cursor() @@ -910,20 +909,15 @@ row = cur.fetchone() assert row == data def testBlob(self): - if ibase.PYTHON_MAJOR_VER == 3: - s = """Introdução + s = """Introdução Este artigo descreve como você pode fazer o InterBase e o Firebird 1.5 coehabitarem pacificamente seu computador Windows. Por favor, note que esta solução não permitirá que o Interbase e o Firebird rodem ao mesmo tempo. Porém você poderá trocar entre ambos com um mínimo de luta. """ - else: - s = u"""Introdução - -Este artigo descreve como você pode fazer o InterBase e o Firebird 1.5 -coehabitarem pacificamente seu computador Windows. Por favor, note que esta -solução não permitirá que o Interbase e o Firebird rodem ao mesmo tempo. -Porém você poderá trocar entre ambos com um mínimo de luta. """ + if ibase.PYTHON_MAJOR_VER != 3: + s = s.decode('utf8') + assert len(s) == 295 data = tuple([2,s]) b_data = tuple([3,ibase.b('bytestring')]) cur = self.con.cursor() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pc...@us...> - 2012-06-28 08:41:06
|
Revision: 54686 http://firebird.svn.sourceforge.net/firebird/?rev=54686&view=rev Author: pcisar Date: 2012-06-28 08:40:57 +0000 (Thu, 28 Jun 2012) Log Message: ----------- - Fixes for automatic unicode conversions Modified Paths: -------------- python/fdb/trunk/fdb/fbcore.py python/fdb/trunk/test/fbtest.fdb python/fdb/trunk/test/testfdb.py Modified: python/fdb/trunk/fdb/fbcore.py =================================================================== --- python/fdb/trunk/fdb/fbcore.py 2012-06-28 08:29:37 UTC (rev 54685) +++ python/fdb/trunk/fdb/fbcore.py 2012-06-28 08:40:57 UTC (rev 54686) @@ -246,11 +246,8 @@ DIST_TRANS_MAX_DATABASES = 16 def bs(byte_array): - if PYTHON_MAJOR_VER == 3: - return bytes(byte_array) - return ''.join([chr(c) for c in byte_array]) + return bytes(byte_array) if PYTHON_MAJOR_VER == 3 else ''.join([chr(c) for c in byte_array]) - ISOLATION_LEVEL_READ_UNCOMMITTED = 0 ISOLATION_LEVEL_READ_COMMITED = 1 ISOLATION_LEVEL_REPEATABLE_READ = 2 @@ -601,6 +598,8 @@ self.sql_dialect = sql_dialect self._dpb = dpb self._charset = charset + if charset: + self._charset = charset.upper() self._isc_status = ISC_STATUS_ARRAY() self._db_handle = db_handle @@ -1270,6 +1269,8 @@ self.__output_cache = None #self.out_buffer = None self._last_fetch_status = ibase.ISC_STATUS(self.NO_FETCH_ATTEMPTED_YET) + self.__charset = self.__get_connection().charset + self.__sql_dialect = self.__get_connection().sql_dialect # allocate statement handle self._stmt_handle = ibase.isc_stmt_handle(0) @@ -1285,7 +1286,7 @@ self._stmt_handle, len(self._str_to_bytes(operation)), self._str_to_bytes(operation), - self.__get_connection().sql_dialect, + self.__sql_dialect, ctypes.cast(ctypes.pointer(self.out_sqlda), XSQLDA_PTR)) if db_api_error(self._isc_status): @@ -1305,7 +1306,7 @@ self.statement_type = bytes_to_int(info[3:3 + bytes_to_int(info[1:3])]) # Init XSQLDA for input parameters ibase.isc_dsql_describe_bind(self._isc_status, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, ctypes.cast(ctypes.pointer(self.in_sqlda), XSQLDA_PTR)) if db_api_error(self._isc_status): @@ -1314,7 +1315,7 @@ if self.in_sqlda.sqld > self.in_sqlda.sqln: self.in_sqlda = xsqlda_factory(self.in_sqlda.sqld) ibase.isc_dsql_describe_bind(self._isc_status, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, ctypes.cast(ctypes.pointer(self.in_sqlda), XSQLDA_PTR)) if db_api_error(self._isc_status): @@ -1327,7 +1328,7 @@ self.in_sqlda_save.append((sqlvar.sqltype, sqlvar.sqllen)) # Init output XSQLDA ibase.isc_dsql_describe(self._isc_status, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, ctypes.cast(ctypes.pointer(self.out_sqlda), XSQLDA_PTR)) if db_api_error(self._isc_status): @@ -1336,7 +1337,7 @@ if self.out_sqlda.sqld > self.out_sqlda.sqln: self.out_sqlda = xsqlda_factory(self.out_sqlda.sqld) ibase.isc_dsql_describe(self._isc_status, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, ctypes.cast(ctypes.pointer(self.out_sqlda), XSQLDA_PTR)) if db_api_error(self._isc_status): @@ -1369,8 +1370,7 @@ while True: info = b(' ') * buf_size ibase.isc_dsql_sql_info(self._isc_status, self._stmt_handle, 2, - bs([ibase.isc_info_sql_get_plan, - isc_info_end]), + bs([ibase.isc_info_sql_get_plan,isc_info_end]), len(info), info) if db_api_error(self._isc_status): raise exception_from_status(DatabaseError, self._isc_status, @@ -1393,13 +1393,11 @@ size = bytes_to_int(info[1:_SIZE_OF_SHORT + 1]) # Skip first byte: a new line ### Todo: Better handling of P version specifics + result = ctypes.string_at(info[_SIZE_OF_SHORT + 2:], size - 1) if PYTHON_MAJOR_VER == 3: - return ((ctypes.string_at(info[_SIZE_OF_SHORT + 2:], size - 1)) - .decode(charset_map.get( - self.__get_connection().charset, - self.__get_connection().charset))) + return result.decode(charset_map.get(self.__charset,self.__charset)) else: - return ctypes.string_at(info[_SIZE_OF_SHORT + 2:], size - 1) + return result def __is_fixed_point(self, dialect, data_type, subtype, scale): return ((data_type in [SQL_SHORT, SQL_LONG, SQL_INT64] @@ -1506,7 +1504,7 @@ SQL_D_FLOAT]: # Special case, dialect 1 DOUBLE/FLOAT # could be Fixed point - if (self.__get_connection().sql_dialect < 3) and scale: + if (self.__sql_dialect < 3) and scale: vtype = decimal.Decimal precision = (self.__get_connection()._determine_field_precision(sqlvar)) else: @@ -1700,34 +1698,31 @@ and sqlvar.sqlind.contents.value == -1): value = None elif vartype == SQL_TEXT: - #value = ctypes.string_at(sqlvar.sqldata,sqlvar.sqllen) + value = ctypes.string_at(sqlvar.sqldata,sqlvar.sqllen) + #value = sqlvar.sqldata[:sqlvar.sqllen] ### Todo: verify handling of P version differences + if ((self.__charset or PYTHON_MAJOR_VER == 3) + and sqlvar.sqlsubtype != 1): # non OCTETS + value = value.decode(charset_map.get(self.__charset,self.__charset)) + # CHAR with multibyte encoding requires special handling if sqlvar.sqlsubtype in (4, 69): # UTF8 and GB18030 reallength = sqlvar.sqllen // 4 elif sqlvar.sqlsubtype == 3: # UNICODE_FSS reallength = sqlvar.sqllen // 3 else: reallength = sqlvar.sqllen - if PYTHON_MAJOR_VER == 3: - value = sqlvar.sqldata[:reallength] - if sqlvar.sqlsubtype != 1: # non OCTETS - value = value.decode(charset_map.get( - self.__get_connection().charset, - self.__get_connection().charset)) - else: - value = str(sqlvar.sqldata[:reallength]) + value = value[:reallength] elif vartype == SQL_VARYING: size = bytes_to_int(sqlvar.sqldata[:1]) #value = ctypes.string_at(sqlvar.sqldata[2],2+size) ### Todo: verify handling of P version differences if PYTHON_MAJOR_VER == 3: value = bytes(sqlvar.sqldata[2:2 + size]) - if sqlvar.sqlsubtype != 1: # non OCTETS - value = value.decode(charset_map.get( - self.__get_connection().charset, - self.__get_connection().charset)) else: value = str(sqlvar.sqldata[2:2 + size]) + if ((self.__charset or PYTHON_MAJOR_VER == 3) + and sqlvar.sqlsubtype != 1): # non OCTETS + value = value.decode(charset_map.get(self.__charset,self.__charset)) elif vartype in [SQL_SHORT, SQL_LONG, SQL_INT64]: value = bytes_to_int(sqlvar.sqldata[:sqlvar.sqllen]) # It's scalled integer? @@ -1768,7 +1763,7 @@ value = BlobReader(blobid,self.__get_connection()._db_handle, self.__get_transaction()._tr_handle, sqlvar.sqlsubtype == 1, - self.__get_connection().charset) + self.__charset) self.__blob_readers.append(value) else: # Materialized BLOB @@ -1837,10 +1832,10 @@ self._isc_status, "Cursor.read_otput_blob/isc_close_blob:") value = blob.value - if PYTHON_MAJOR_VER == 3 and sqlvar.sqlsubtype == 1: - value = value.decode(charset_map.get( - self.__get_connection().charset, - self.__get_connection().charset)) + if ((self.__charset or PYTHON_MAJOR_VER == 3) + and sqlvar.sqlsubtype == 1): + value = value.decode(charset_map.get(self.__charset, + self.__charset)) elif vartype == SQL_ARRAY: value = [] values.append(value) @@ -1881,9 +1876,7 @@ # Place for Implicit Conversion of Input Parameters # from Strings if isinstance(value, UnicodeType): - value = value.encode( - charset_map.get(self.__get_connection().charset, - self.__get_connection().charset)) + value = value.encode(charset_map.get(self.__charset,self.__charset)) ### Todo: verify handling of P version differences if PYTHON_MAJOR_VER != 3: if not isinstance(value, StringType): @@ -1910,7 +1903,7 @@ ' acceptable input for' ' a fixed-point column.' % str(type(value))) self._check_integer_rage(value, - self.__get_connection().sql_dialect, + self.__sql_dialect, vartype, sqlvar.sqlsubtype, sqlvar.sqlscale) sqlvar.sqldata = ctypes.cast(ctypes.pointer( @@ -1940,12 +1933,11 @@ blobid = ibase.ISC_QUAD(0, 0) blob_handle = ibase.isc_blob_handle() ### Todo: verify handling of P version differences - if PYTHON_MAJOR_VER == 3: - if isinstance(value, str): - value = value.encode( - charset_map.get( - self.__get_connection().charset, - self.__get_connection().charset)) + if ((self.__charset or + (PYTHON_MAJOR_VER == 3 and isinstance(value, str))) + and sqlvar.sqlsubtype == 1): + value = value.encode(charset_map.get(self.__charset, + self.__charset)) if hasattr(value,'read'): # It seems we've got file-like object, use stream BLOB ibase.isc_create_blob2(self._isc_status, @@ -1981,6 +1973,10 @@ "Cursor.write_input_blob/isc_close_blob:") else: # Non-stream BLOB + if isinstance(value, str if PYTHON_MAJOR_VER == 3 else UnicodeType): + raise TypeError('Unicode strings are not' + ' acceptable input for' + ' a non-textual BLOB column.') blob = ctypes.create_string_buffer(value) ibase.isc_create_blob2(self._isc_status, self.__get_connection()._db_handle, @@ -2084,7 +2080,7 @@ ibase.isc_dsql_execute2(self._isc_status, self.__get_transaction()._tr_handle, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, xsqlda_in, xsqlda_out) if db_api_error(self._isc_status): @@ -2099,7 +2095,7 @@ ibase.isc_dsql_execute2(self._isc_status, self.__get_transaction()._tr_handle, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, xsqlda_in, None) if db_api_error(self._isc_status): @@ -2122,7 +2118,7 @@ self._last_fetch_status = ibase.isc_dsql_fetch( self._isc_status, self._stmt_handle, - self.__get_connection().sql_dialect, + self.__sql_dialect, ctypes.cast(ctypes.pointer(self.out_sqlda), XSQLDA_PTR)) if self._last_fetch_status == 0: return self.__XSQLDA2Tuple(self.out_sqlda) Modified: python/fdb/trunk/test/fbtest.fdb =================================================================== (Binary files differ) Modified: python/fdb/trunk/test/testfdb.py =================================================================== --- python/fdb/trunk/test/testfdb.py 2012-06-28 08:29:37 UTC (rev 54685) +++ python/fdb/trunk/test/testfdb.py 2012-06-28 08:40:57 UTC (rev 54686) @@ -419,7 +419,7 @@ ps = cur.prep('select * from country') assert ps.plan == "PLAN (COUNTRY NATURAL)" -class TestCursor2(unittest.TestCase): +class TestCursorInsert(unittest.TestCase): def setUp(self): self.cwd = os.getcwd() self.dbpath = os.path.join(self.cwd,'test') @@ -882,6 +882,72 @@ # because BLOB handle is no longer valid after table purge p.close() +class TestCharsetConversion(unittest.TestCase): + def setUp(self): + self.cwd = os.getcwd() + self.dbpath = os.path.join(self.cwd,'test') + self.dbfile = os.path.join(self.dbpath,'fbtest.fdb') + self.con = fdb.connect(dsn=self.dbfile,user='sysdba',password='masterkey',charset='utf8') + #self.con.execute_immediate("recreate table t (c1 integer)") + #self.con.commit() + #self.con.execute_immediate("RECREATE TABLE T2 (C1 Smallint,C2 Integer,C3 Bigint,C4 Char(5),C5 Varchar(10),C6 Date,C7 Time,C8 Timestamp,C9 Blob sub_type 1,C10 Numeric(18,2),C11 Decimal(18,2),C12 Float,C13 Double precision,C14 Numeric(8,4),C15 Decimal(8,4))") + #self.con.commit() + def tearDown(self): + self.con.execute_immediate("delete from t3") + self.con.commit() + self.con.close() + def testCharVarchar(self): + if ibase.PYTHON_MAJOR_VER == 3: + s = 'Introdução' + else: + s = u'Introdução' + assert len(s) == 10 + data = tuple([1,s,s]) + cur = self.con.cursor() + cur.execute('insert into T3 (C1,C2,C3) values (?,?,?)',data) + self.con.commit() + cur.execute('select C1,C2,C3 from T3 where C1 = 1') + row = cur.fetchone() + assert row == data + def testBlob(self): + if ibase.PYTHON_MAJOR_VER == 3: + s = """Introdução + +Este artigo descreve como você pode fazer o InterBase e o Firebird 1.5 +coehabitarem pacificamente seu computador Windows. Por favor, note que esta +solução não permitirá que o Interbase e o Firebird rodem ao mesmo tempo. +Porém você poderá trocar entre ambos com um mínimo de luta. """ + else: + s = u"""Introdução + +Este artigo descreve como você pode fazer o InterBase e o Firebird 1.5 +coehabitarem pacificamente seu computador Windows. Por favor, note que esta +solução não permitirá que o Interbase e o Firebird rodem ao mesmo tempo. +Porém você poderá trocar entre ambos com um mínimo de luta. """ + data = tuple([2,s]) + b_data = tuple([3,ibase.b('bytestring')]) + cur = self.con.cursor() + # Text BLOB + cur.execute('insert into T3 (C1,C4) values (?,?)',data) + self.con.commit() + cur.execute('select C1,C4 from T3 where C1 = 2') + row = cur.fetchone() + assert row == data + # Insert Unicode into non-textual BLOB + try: + cur.execute('insert into T3 (C1,C5) values (?,?)',data) + self.con.commit() + except Exception as e: + assert e.args == ('Unicode strings are not acceptable input for a non-textual BLOB column.',) + else: + raise ProgrammingError('Exception expected') + # Read binary from non-textual BLOB + cur.execute('insert into T3 (C1,C5) values (?,?)',b_data) + self.con.commit() + cur.execute('select C1,C5 from T3 where C1 = 3') + row = cur.fetchone() + assert row == b_data + class TestBugs(unittest.TestCase): def setUp(self): self.cwd = os.getcwd() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2012-06-28 08:29:48
|
Revision: 54685 http://firebird.svn.sourceforge.net/firebird/?rev=54685&view=rev Author: hvlad Date: 2012-06-28 08:29:37 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Missed piece (CORE-3656) Modified Paths: -------------- firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp Modified: firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp =================================================================== --- firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp 2012-06-28 08:07:56 UTC (rev 54684) +++ firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp 2012-06-28 08:29:37 UTC (rev 54685) @@ -2004,7 +2004,8 @@ void TracePluginImpl::log_event_sweep(TraceDatabaseConnection* connection, TraceSweepInfo* sweep, ntrace_process_state_t sweep_state) { - if (sweep_state != process_state_progress) + if (sweep_state == process_state_started || + sweep_state == process_state_finished) { record.printf("\nTransaction counters:\n" "\tOldest interesting %10ld\n" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2012-06-28 08:08:06
|
Revision: 54684 http://firebird.svn.sourceforge.net/firebird/?rev=54684&view=rev Author: hvlad Date: 2012-06-28 08:07:56 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Improvement CORE-3656 : Support for sweep information in Trace API Modified Paths: -------------- firebird/branches/B2_5_Release/src/jrd/ntrace.h firebird/branches/B2_5_Release/src/jrd/tra.cpp firebird/branches/B2_5_Release/src/jrd/trace/TraceJrdHelpers.h firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.cpp firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.h firebird/branches/B2_5_Release/src/jrd/trace/TraceObjects.h firebird/branches/B2_5_Release/src/jrd/vio.cpp firebird/branches/B2_5_Release/src/jrd/vio_proto.h firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.h firebird/branches/B2_5_Release/src/utilities/ntrace/fbtrace.conf firebird/branches/B2_5_Release/src/utilities/ntrace/paramtable.h Modified: firebird/branches/B2_5_Release/src/jrd/ntrace.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/ntrace.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/ntrace.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -34,7 +34,7 @@ #include "../jrd/common.h" /* Version of API, used for version fields in TracePlugin structure */ -#define NTRACE_VERSION 3 +#define NTRACE_VERSION 4 // plugin entry point static const char* const NTRACE_ATTACH = "trace_create"; @@ -49,6 +49,14 @@ connection_service }; +enum ntrace_process_state_t +{ + process_state_started = 1, + process_state_finished, + process_state_failed, + process_state_progress +}; + class TraceBaseConnection { public: @@ -175,6 +183,16 @@ virtual const char* getText() = 0; }; +class TraceSweepInfo +{ +public: + virtual ISC_LONG getOIT() = 0; + virtual ISC_LONG getOST() = 0; + virtual ISC_LONG getOAT() = 0; + virtual ISC_LONG getNext() = 0; + virtual PerformanceInfo* getPerf() = 0; +}; + /* Plugin-specific argument. Passed by the engine to each hook */ typedef void* ntrace_object_t; @@ -312,7 +330,11 @@ typedef ntrace_boolean_t (*ntrace_event_error_t)(const struct TracePlugin* tpl_plugin, TraceBaseConnection* connection, TraceStatusVector* status, const char* function); +/* Sweep activity */ +typedef ntrace_boolean_t (*ntrace_event_sweep_t)(const struct TracePlugin* tpl_plugin, + TraceDatabaseConnection* connection, TraceSweepInfo* sweep, ntrace_process_state_t sweep_state); + /* API of trace plugin. Used to deliver notifications for each database */ struct TracePlugin { @@ -353,9 +375,11 @@ ntrace_event_error_t tpl_event_error; + ntrace_event_sweep_t tpl_event_sweep; + /* Some space for future extension of Trace API interface, must be zero-initialized by the plugin */ - void* reserved_for_interface[23]; + void* reserved_for_interface[22]; /* Some space which may be freely used by Trace API driver. If driver needs more space it may allocate and return larger TracePlugin structure. */ Modified: firebird/branches/B2_5_Release/src/jrd/tra.cpp =================================================================== --- firebird/branches/B2_5_Release/src/jrd/tra.cpp 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/tra.cpp 2012-06-28 08:07:56 UTC (rev 54684) @@ -1798,7 +1798,9 @@ transaction->tra_attachment->att_flags &= ~ATT_notify_gc; #endif - if (VIO_sweep(tdbb, transaction)) + TraceSweepEvent traceSweep(tdbb); + + if (VIO_sweep(tdbb, transaction, &traceSweep)) { const ULONG base = transaction->tra_oldest & ~TRA_MASK; ULONG active = transaction->tra_oldest; @@ -1839,7 +1841,11 @@ header->hdr_oldest_transaction = MIN(active, (ULONG) transaction_oldest_active); } + traceSweep.update(header); + CCH_RELEASE(tdbb, &window); + + traceSweep.report(process_state_finished); } if (!trans) @@ -3620,3 +3626,79 @@ return tra_user_management; } + +/// class TraceSweepEvent + +TraceSweepEvent::TraceSweepEvent(thread_db* tdbb) : + m_request(tdbb->getDefaultPool(), NULL) +{ + m_tdbb = tdbb; + + Attachment* att = m_tdbb->getAttachment(); + TraceManager* trace_mgr = att->att_trace_manager; + + m_need_trace = trace_mgr->needs().event_sweep; + + if (!m_need_trace) + return; + + m_tdbb->setRequest(&m_request); + m_start_clock = fb_utils::query_performance_counter(); + + WIN window(HEADER_PAGE_NUMBER); + Ods::header_page* header = (Ods::header_page*) CCH_FETCH(m_tdbb, &window, LCK_read, pag_header); + + m_sweep_info.update(header); + CCH_RELEASE(m_tdbb, &window); + + TraceConnectionImpl conn(att); + trace_mgr->event_sweep(&conn, &m_sweep_info, process_state_started); + + m_relation_clock = fb_utils::query_performance_counter(); +} + + +TraceSweepEvent::~TraceSweepEvent() +{ + m_tdbb->setRequest(NULL); + report(process_state_failed); +} + + +void TraceSweepEvent::report(ntrace_process_state_t state, jrd_rel* relation) +{ + if (!m_need_trace) + return; + + Database* dbb = m_tdbb->getDatabase(); + Attachment* att = m_tdbb->getAttachment(); + TraceManager* trace_mgr = att->att_trace_manager; + + TraceConnectionImpl conn(att); + + if (relation && relation->rel_name.isEmpty()) + { + // don't accumulate per-relation stats for metadata query below + m_tdbb->setRequest(NULL); + MET_lookup_relation_id(m_tdbb, relation->rel_id, false); + m_tdbb->setRequest(&m_request); + } + + // we need to compare stats against zero base + m_request.req_base_stats.reset(); + + TraceRuntimeStats stats(dbb, &m_request.req_base_stats, + state == process_state_progress ? &m_request.req_stats : &att->att_stats, + fb_utils::query_performance_counter() - (state == process_state_progress ? + m_relation_clock : m_start_clock), + 0); + + m_request.req_stats.reset(); + m_relation_clock = fb_utils::query_performance_counter(); + + m_sweep_info.setPerf(stats.getPerf()); + trace_mgr->event_sweep(&conn, &m_sweep_info, state); + + if (state == process_state_failed || state == process_state_finished) + m_need_trace = false; +} Modified: firebird/branches/B2_5_Release/src/jrd/trace/TraceJrdHelpers.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/trace/TraceJrdHelpers.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/trace/TraceJrdHelpers.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -466,6 +466,31 @@ const UCHAR* const m_ddl; }; + +class TraceSweepEvent +{ + // implementation is at tra.cpp +public: + TraceSweepEvent(thread_db* tdbb); + + ~TraceSweepEvent(); + + void update(const Ods::header_page* header) + { + m_sweep_info.update(header); + } + + void report(ntrace_process_state_t state, jrd_rel* relation = 0); + +private: + bool m_need_trace; + thread_db* m_tdbb; + TraceSweepImpl m_sweep_info; + SINT64 m_start_clock; + SINT64 m_relation_clock; + jrd_req m_request; +}; + } // namespace Jrd #endif // JRD_TRACE_JRD_HELPERS_H Modified: firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.cpp =================================================================== --- firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.cpp 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.cpp 2012-06-28 08:07:56 UTC (rev 54684) @@ -324,6 +324,8 @@ trace_needs.event_trigger_execute = true; if (plugin->tpl_event_error) trace_needs.event_error = true; + if (plugin->tpl_event_sweep) + trace_needs.event_sweep = true; } } } @@ -524,4 +526,11 @@ (plug_info->plugin, connection, status, function)); } +void TraceManager::event_sweep(TraceDatabaseConnection* connection, TraceSweepInfo* sweep, + ntrace_process_state_t sweep_state) +{ + EXECUTE_HOOKS(tpl_event_sweep, + (plug_info->plugin, connection, sweep, sweep_state)); } + +} Modified: firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/trace/TraceManager.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -110,6 +110,9 @@ void event_error(TraceBaseConnection* connection, TraceStatusVector* status, const char* function); + void event_sweep(TraceDatabaseConnection* connection, TraceSweepInfo* sweep, + ntrace_process_state_t sweep_state); + struct NotificationNeeds { // Set if event is tracked @@ -131,6 +134,7 @@ bool event_service_query; bool event_service_detach; bool event_error; + bool event_sweep; }; inline const NotificationNeeds& needs() Modified: firebird/branches/B2_5_Release/src/jrd/trace/TraceObjects.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/trace/TraceObjects.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/trace/TraceObjects.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -426,6 +426,45 @@ Firebird::string m_error; }; +class TraceSweepImpl : public TraceSweepInfo +{ +public: + TraceSweepImpl() + { + m_oit = 0; + m_ost = 0; + m_oat = 0; + m_next = 0; + m_perf = 0; + } + + void update(const Ods::header_page* header) + { + m_oit = header->hdr_oldest_transaction; + m_ost = header->hdr_oldest_snapshot; + m_oat = header->hdr_oldest_active; + m_next = header->hdr_next_transaction; + } + + void setPerf(PerformanceInfo* perf) + { + m_perf = perf; + } + + virtual ISC_LONG getOIT() { return m_oit; }; + virtual ISC_LONG getOST() { return m_ost; }; + virtual ISC_LONG getOAT() { return m_oat; }; + virtual ISC_LONG getNext() { return m_next; }; + virtual PerformanceInfo* getPerf() { return m_perf; }; + +private: + SLONG m_oit; + SLONG m_ost; + SLONG m_oat; + SLONG m_next; + PerformanceInfo* m_perf; +}; + } // namespace Jrd #endif // JRD_TRACE_OBJECTS_H Modified: firebird/branches/B2_5_Release/src/jrd/vio.cpp =================================================================== --- firebird/branches/B2_5_Release/src/jrd/vio.cpp 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/vio.cpp 2012-06-28 08:07:56 UTC (rev 54684) @@ -87,6 +87,8 @@ #include "../jrd/tra_proto.h" #include "../jrd/vio_proto.h" #include "../common/StatusArg.h" +#include "../jrd/trace/TraceManager.h" +#include "../jrd/trace/TraceJrdHelpers.h" using namespace Jrd; using namespace Firebird; @@ -2891,7 +2893,7 @@ } -bool VIO_sweep(thread_db* tdbb, jrd_tra* transaction) +bool VIO_sweep(thread_db* tdbb, jrd_tra* transaction, TraceSweepEvent* traceSweep) { /************************************** * @@ -2933,6 +2935,7 @@ for (size_t i = 1; (vector = dbb->dbb_relations) && i < vector->count(); i++) { + bool haveRecs = false; if ((relation = (*vector)[i]) && !(relation->rel_flags & (REL_deleted | REL_deleting)) && relation->getPages(tdbb)->rel_pages) { @@ -2961,7 +2964,13 @@ #ifdef SUPERSERVER transaction->tra_oldest_active = dbb->dbb_oldest_snapshot; #endif + haveRecs = true; } + + if (haveRecs) { + traceSweep->report(process_state_progress, relation); + } + --relation->rel_sweep_count; --relation->rel_scan_count; } Modified: firebird/branches/B2_5_Release/src/jrd/vio_proto.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/vio_proto.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/jrd/vio_proto.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -34,6 +34,7 @@ struct record_param; class Savepoint; class Format; + class TraceSweepEvent; } void VIO_backout(Jrd::thread_db*, Jrd::record_param*, const Jrd::jrd_tra*); @@ -66,7 +67,7 @@ void VIO_refetch_record(Jrd::thread_db*, Jrd::record_param*, Jrd::jrd_tra*); void VIO_start_save_point(Jrd::thread_db*, Jrd::jrd_tra*); void VIO_store(Jrd::thread_db*, Jrd::record_param*, Jrd::jrd_tra*); -bool VIO_sweep(Jrd::thread_db*, Jrd::jrd_tra*); +bool VIO_sweep(Jrd::thread_db*, Jrd::jrd_tra*, Jrd::TraceSweepEvent*); void VIO_verb_cleanup(Jrd::thread_db*, Jrd::jrd_tra*); IPTR VIO_savepoint_large(const Jrd::Savepoint*, IPTR); void VIO_temp_cleanup(Jrd::thread_db*, Jrd::jrd_tra*); Modified: firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp =================================================================== --- firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.cpp 2012-06-28 08:07:56 UTC (rev 54684) @@ -93,6 +93,8 @@ plugin_ptr->tpl_event_service_detach = ntrace_event_service_detach; plugin_ptr->tpl_event_error = ntrace_event_error; + + plugin_ptr->tpl_event_sweep = ntrace_event_sweep; } catch(const Firebird::Exception&) { @@ -1998,6 +2000,60 @@ logRecordError(event_type.c_str(), connection, status); } + +void TracePluginImpl::log_event_sweep(TraceDatabaseConnection* connection, TraceSweepInfo* sweep, + ntrace_process_state_t sweep_state) +{ + if (sweep_state != process_state_progress) + { + record.printf("\nTransaction counters:\n" + "\tOldest interesting %10ld\n" + "\tOldest active %10ld\n" + "\tOldest snapshot %10ld\n" + "\tNext transaction %10ld\n", + sweep->getOIT(), + sweep->getOAT(), + sweep->getOST(), + sweep->getNext() + ); + } + + PerformanceInfo* info = sweep->getPerf(); + if (info) + { + appendGlobalCounts(info); + appendTableCounts(info); + } + + const char* event_type = NULL; + switch (sweep_state) + { + case process_state_started: + event_type = "SWEEP_START"; + break; + + case process_state_finished: + event_type = "SWEEP_FINISH"; + break; + + case process_state_failed: + event_type = "SWEEP_FAILED"; + break; + + case process_state_progress: + event_type = "SWEEP_PROGRESS"; + break; + + default: + fb_assert(false); + event_type = "Unknown SWEEP process state"; + break; + } + + logRecordConn(event_type, connection); +} + + //***************************** PLUGIN INTERFACE ******************************** ntrace_boolean_t TracePluginImpl::ntrace_shutdown(const TracePlugin* tpl_plugin) @@ -2330,3 +2386,19 @@ return false; } } + +ntrace_boolean_t TracePluginImpl::ntrace_event_sweep(const struct TracePlugin* tpl_plugin, + TraceDatabaseConnection* connection, TraceSweepInfo* sweep, ntrace_process_state_t sweep_state) +{ + try + { + static_cast<TracePluginImpl*>(tpl_plugin->tpl_object)->log_event_sweep( + connection, sweep, sweep_state); + return true; + } + catch(const Firebird::Exception& ex) + { + marshal_exception(ex); + return false; + } +} Modified: firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.h =================================================================== --- firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/utilities/ntrace/TracePluginImpl.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -259,6 +259,9 @@ void log_event_error(TraceBaseConnection* connection, TraceStatusVector* status, const char* function); + void log_event_sweep(TraceDatabaseConnection* connection, TraceSweepInfo* sweep, + ntrace_process_state_t sweep_state); + /* Finalize plugin. Called when database is closed by the engine */ static ntrace_boolean_t ntrace_shutdown(const TracePlugin* tpl_plugin); @@ -333,6 +336,9 @@ static ntrace_boolean_t ntrace_event_error(const struct TracePlugin* tpl_plugin, TraceBaseConnection* connection, TraceStatusVector* status, const char* function); + + static ntrace_boolean_t ntrace_event_sweep(const struct TracePlugin* tpl_plugin, + TraceDatabaseConnection* connection, TraceSweepInfo* sweep, ntrace_process_state_t sweep_state); }; #endif // TRACEPLUGINIMPL_H Modified: firebird/branches/B2_5_Release/src/utilities/ntrace/fbtrace.conf =================================================================== --- firebird/branches/B2_5_Release/src/utilities/ntrace/fbtrace.conf 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/utilities/ntrace/fbtrace.conf 2012-06-28 08:07:56 UTC (rev 54684) @@ -87,7 +87,10 @@ # Put errors happened #log_errors false + # Sweep activity + #log_sweep false + # Print access path (plan) with sql statement print_plan false Modified: firebird/branches/B2_5_Release/src/utilities/ntrace/paramtable.h =================================================================== --- firebird/branches/B2_5_Release/src/utilities/ntrace/paramtable.h 2012-06-28 07:49:14 UTC (rev 54683) +++ firebird/branches/B2_5_Release/src/utilities/ntrace/paramtable.h 2012-06-28 08:07:56 UTC (rev 54684) @@ -58,6 +58,7 @@ BOOL_PARAMETER(print_blr, false) BOOL_PARAMETER(log_dyn_requests, false) BOOL_PARAMETER(print_dyn, false) +BOOL_PARAMETER(log_sweep, false) UINT_PARAMETER(max_sql_length, 300) UINT_PARAMETER(max_blr_length, 500) UINT_PARAMETER(max_dyn_length, 500) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2012-06-28 07:49:25
|
Revision: 54683 http://firebird.svn.sourceforge.net/firebird/?rev=54683&view=rev Author: hvlad Date: 2012-06-28 07:49:14 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Improvement CORE-3879 : Make fb_lock_print a bit more handy Modified Paths: -------------- firebird/trunk/src/lock/print.cpp Modified: firebird/trunk/src/lock/print.cpp =================================================================== --- firebird/trunk/src/lock/print.cpp 2012-06-28 07:27:16 UTC (rev 54682) +++ firebird/trunk/src/lock/print.cpp 2012-06-28 07:49:14 UTC (rev 54683) @@ -112,8 +112,8 @@ static void prt_lock_activity(OUTFILE, const lhb*, USHORT, ULONG, ULONG); static void prt_history(OUTFILE, const lhb*, SRQ_PTR, const SCHAR*); -static void prt_lock(OUTFILE, const lhb*, lbl*, USHORT); -static void prt_owner(OUTFILE, const lhb*, const own*, bool, bool); +static void prt_lock(OUTFILE, const lhb*, const lbl*, USHORT); +static void prt_owner(OUTFILE, const lhb*, const own*, bool, bool, bool); static void prt_owner_wait_cycle(OUTFILE, const lhb*, const own*, USHORT, waitque*); static void prt_request(OUTFILE, const lhb*, const lrq*); static void prt_que(OUTFILE, const lhb*, const SCHAR*, const srq*, USHORT, const TEXT* prefix = NULL); @@ -164,9 +164,45 @@ "SCAN", "DEAD", "ENTER", "BUG", "ACTIVE", "CLEANUP", "DEL_OWNER" }; -static const TEXT valid_switches[] = - "Valid switches are: -o, -p, -l, -r, -a, -h, -n, -s <n>, -c, -i <n> <n>, -m"; +static const char* usage = + "Firebird lock print utility.\n" + "Usage: fb_lock_print (-d | -f) [<parameters>]\n" + "\n" + "One of -d or -f switches is mandatory:\n" + " -d <database file name> specify database which lock table to be printed\n" + " -f <lock table file name> specify lock table file itself to be printed\n" + "\n" + "Optional parameters are:\n" + " -o print list of lock owners\n" + " -p same as -o\n" + " -l print locks\n" + " -r print requests made by lock owners (valid only if -o specified)\n" + " -h print recent events history\n" + " -a print all of the above (equal to -o -l -r -h swithes)\n" + " -s <N> print only locks of given series (valid only if -l specified)\n" + " -n print only pending owners (if -o specified) or \n" + " pending locks (if -l specified)\n" + " -w print \"waiting for\" list for every owner\n" + " (valid only if -o specified)\n" + " -c acquire lock manager's mutex to print consistent view of\n" + " lock table (valid only if -d specified)\n" + " -m make output in html format\n" + "\n" + " -i[<counters>] [<N> [<M>]] interactive mode:\n" + " print chosen lock manager activity counters during <N> seconds\n" + " witn interval of <M> seconds. Defaults are 1 sec for both values.\n" + " Counters are:\n" + " a number of mutex acquires, acquire blocks, etc \n" + " o number of lock operations (enqueues, converts, downgrades, etc)\n" + " t number of operations with most important lock series\n" + " w number of waits, timeouts, deadlock scans, etc\n" + " Default is aotw\n" + "\n" + " -? this help screen \n" + "\n"; + + // The same table is in lock.cpp, maybe worth moving to a common file? static const UCHAR compatibility[LCK_max][LCK_max] = { @@ -248,7 +284,8 @@ bool sw_requests = false; bool sw_locks = false; bool sw_history = false; - bool sw_owners = true; + bool sw_owners = false; + bool sw_pending = false; USHORT sw_interactive; // Those variables should be signed to accept negative values from atoi @@ -264,13 +301,18 @@ SCHAR* p = *argv++; if (*p++ != '-') { - FPRINTF(outfile, "%s\n", valid_switches); + FPRINTF(outfile, "%s", usage); exit(FINI_OK); } SCHAR c; while (c = *p++) switch (c) { + case '?': + FPRINTF(outfile, usage); + exit(FINI_OK); + break; + case 'o': case 'p': sw_owners = true; @@ -390,8 +432,12 @@ sw_html_format = true; break; + case 'n': + sw_pending = true; + break; + default: - FPRINTF(outfile, "%s\n", valid_switches); + FPRINTF(outfile, "%s", usage); exit(FINI_OK); break; } @@ -463,7 +509,8 @@ } else { - FPRINTF(outfile, "Please specify either -d <database name> or -f <lock file name>\n"); + FPRINTF(outfile, "Please specify either -d <database name> or -f <lock file name>\n\n"); + FPRINTF(outfile, usage); exit(FINI_OK); } @@ -771,9 +818,9 @@ const srq* que_inst; SRQ_LOOP(LOCK_header->lhb_owners, que_inst) { - prt_owner(outfile, LOCK_header, - (own*) ((UCHAR*) que_inst - OFFSET(own*, own_lhb_owners)), - sw_requests, sw_waitlist); + const own* owner = (own*) ((UCHAR*) que_inst - OFFSET(own*, own_lhb_owners)); + if (!sw_pending || !SRQ_EMPTY(owner->own_pending)) + prt_owner(outfile, LOCK_header, owner, sw_requests, sw_waitlist, sw_pending); } } @@ -787,17 +834,19 @@ for (const srq* que_inst = (SRQ) SRQ_ABS_PTR(slot->srq_forward); que_inst != slot; que_inst = (SRQ) SRQ_ABS_PTR(que_inst->srq_forward)) { - prt_lock(outfile, LOCK_header, - (lbl*) ((UCHAR *) que_inst - OFFSET(lbl*, lbl_lhb_hash)), sw_series); + const lbl* lock = (lbl*) ((UCHAR *) que_inst - OFFSET(lbl*, lbl_lhb_hash)); + if (!sw_pending || lock->lbl_pending_lrq_count) + prt_lock(outfile, LOCK_header, lock, sw_series); } } } if (sw_history) + { prt_history(outfile, LOCK_header, LOCK_header->lhb_history, "History"); + prt_history(outfile, LOCK_header, a_shb->shb_history, "Event log"); + } - prt_history(outfile, LOCK_header, a_shb->shb_history, "Event log"); - prt_html_end(outfile); return FINI_OK; @@ -1059,7 +1108,7 @@ } -static void prt_lock(OUTFILE outfile, const lhb* LOCK_header, lbl* lock, USHORT sw_series) +static void prt_lock(OUTFILE outfile, const lhb* LOCK_header, const lbl* lock, USHORT sw_series) { /************************************** * @@ -1171,7 +1220,8 @@ const lhb* LOCK_header, const own* owner, bool sw_requests, - bool sw_waitlist) + bool sw_waitlist, + bool sw_pending) { /************************************** * @@ -1224,13 +1274,21 @@ FPRINTF(outfile, "\n"); - if (sw_requests) + if (sw_requests && !sw_pending) { const srq* que_inst; SRQ_LOOP(owner->own_requests, que_inst) prt_request(outfile, LOCK_header, (lrq*) ((UCHAR *) que_inst - OFFSET(lrq*, lrq_own_requests))); } + + if (sw_requests && sw_pending) + { + const srq* que_inst; + SRQ_LOOP(owner->own_pending, que_inst) + prt_request(outfile, LOCK_header, + (lrq*) ((UCHAR *) que_inst - OFFSET(lrq*, lrq_own_pending))); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2012-06-28 07:27:26
|
Revision: 54682 http://firebird.svn.sourceforge.net/firebird/?rev=54682&view=rev Author: dimitr Date: 2012-06-28 07:27:16 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Updated the docs. A couple of the documented changes are still pending, to be committed today. Modified Paths: -------------- firebird/branches/B2_5_Release/doc/WhatsNew Modified: firebird/branches/B2_5_Release/doc/WhatsNew =================================================================== --- firebird/branches/B2_5_Release/doc/WhatsNew 2012-06-28 07:20:35 UTC (rev 54681) +++ firebird/branches/B2_5_Release/doc/WhatsNew 2012-06-28 07:27:16 UTC (rev 54682) @@ -2,6 +2,21 @@ * v2.5.2 ************************** + * Bugfix CORE-3875 + GBAK does not check correctly parameters and backups random database with -B ":" + Contributor(s): + Alex Peshkov <peshkoff at mail.ru> + + * Bugfix CORE-3873 + Server crashes while switching to the shadow if the disk I/O fault happens while flushing the cache + Contributor(s): + Dmitry Yemanov <dimitr at firebirdsql.org> + + * Bugfix CORE-3860 + Trace API: faulty database filter crashes the server + Contributor(s): + Vlad Khorsun <hvlad at users.sourceforge.net> + * Bugfix CORE-3855 Blobs, inserted into GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS, could be placed into newly allocated pages even if there is enough free place on some existing data page @@ -342,11 +357,21 @@ Contributor(s): Dmitry Yemanov <dimitr at firebirdsql.org> + * Improvement CORE-3879 + Make fb_lock_print a bit more handy + Contributor(s): + Vlad Khorsun <hvlad at users.sourceforge.net> + * Improvement CORE-3727 Support C preprocessor flags in firebird build system Contributor(s): Alex Peshkov <peshkoff at mail.ru> + * Improvement CORE-3656 + Support for sweep information in Trace API + Contributor(s): + Vlad Khorsun <hvlad at users.sourceforge.net> + * Improvement CORE-3598 TRACE: add statistics of actions that happened after transaction has finished Contributor(s): @@ -357,7 +382,19 @@ Contributor(s): Vlad Khorsun <hvlad at users.sourceforge.net> + * Improvement CORE-2668 + Write note into log when automatic sweep is started + Contributor(s): + Vlad Khorsun <hvlad at users.sourceforge.net> + * Improvement CORE-2666 + Make it possible to use API to do remote backup/restore + See also: + /doc/README.services_extension + Contributor(s): + Alex Peshkov <peshkoff at mail.ru> + + ************************** * v2.5.1 ************************** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hv...@us...> - 2012-06-28 07:20:42
|
Revision: 54681 http://firebird.svn.sourceforge.net/firebird/?rev=54681&view=rev Author: hvlad Date: 2012-06-28 07:20:35 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Improvement CORE-3879 : Make fb_lock_print a bit more handy Modified Paths: -------------- firebird/branches/B2_5_Release/src/lock/print.cpp Modified: firebird/branches/B2_5_Release/src/lock/print.cpp =================================================================== --- firebird/branches/B2_5_Release/src/lock/print.cpp 2012-06-28 06:02:36 UTC (rev 54680) +++ firebird/branches/B2_5_Release/src/lock/print.cpp 2012-06-28 07:20:35 UTC (rev 54681) @@ -90,7 +90,7 @@ static void prt_lock_activity(OUTFILE, const lhb*, USHORT, USHORT, USHORT); static void prt_lock_init(void*, sh_mem*, bool); static void prt_history(OUTFILE, const lhb*, SRQ_PTR, const SCHAR*); -static void prt_lock(OUTFILE, const lhb*, lbl*, USHORT); +static void prt_lock(OUTFILE, const lhb*, const lbl*, USHORT); static void prt_owner(OUTFILE, const lhb*, const own*, bool, bool); static void prt_owner_wait_cycle(OUTFILE, const lhb*, const own*, USHORT, waitque*); static void prt_request(OUTFILE, const lhb*, const lrq*); @@ -148,9 +148,45 @@ "SCAN", "DEAD", "ENTER", "BUG", "ACTIVE", "CLEANUP", "DEL_OWNER" }; -static const TEXT valid_switches[] = - "Valid switches are: -o, -p, -l, -r, -a, -h, -n, -s <n>, -c, -i <n> <n>, -m \n"; +static const char* usage = + "Firebird lock print utility.\n" + "Usage: fb_lock_print (-d | -f) [<parameters>]\n" + "\n" + "One of -d or -f switches is mandatory:\n" + " -d <database file name> specify database which lock table to be printed\n" + " -f <lock table file name> specify lock table file itself to be printed\n" + "\n" + "Optional parameters are:\n" + " -o print list of lock owners\n" + " -p same as -o\n" + " -l print locks\n" + " -r print requests made by lock owners (valid only if -o specified)\n" + " -h print recent events history\n" + " -a print all of the above (equal to -o -l -r -h swithes)\n" + " -s <N> print only locks of given series (valid only if -l specified)\n" + " -n print only pending owners (if -o specified) or \n" + " pending locks (if -l specified)\n" + " -w print \"waiting for\" list for every owner\n" + " (valid only if -o specified)\n" + " -c acquire lock manager's mutex to print consistent view of\n" + " lock table (valid only if -d specified)\n" + " -m make output in html format\n" + "\n" + " -i[<counters>] [<N> [<M>]] interactive mode:\n" + " print chosen lock manager activity counters during <N> seconds\n" + " witn interval of <M> seconds. Defaults are 1 sec for both values.\n" + " Counters are:\n" + " a number of mutex acquires, acquire blocks, etc \n" + " o number of lock operations (enqueues, converts, downgrades, etc)\n" + " t number of operations with most important lock series\n" + " w number of waits, timeouts, deadlock scans, etc\n" + " Default is aotw\n" + "\n" + " -? this help screen \n" + "\n"; + + // The same table is in lock.cpp, maybe worth moving to a common file? static const UCHAR compatibility[LCK_max][LCK_max] = { @@ -232,7 +268,8 @@ bool sw_requests = false; bool sw_locks = false; bool sw_history = false; - bool sw_owners = true; + bool sw_owners = false; + bool sw_pending = false; USHORT sw_interactive; // Those variables should be signed to accept negative values from atoi @@ -248,7 +285,7 @@ SCHAR* p = *argv++; if (*p++ != '-') { - FPRINTF(outfile, "%s", valid_switches); + FPRINTF(outfile, "%s", usage); exit(FINI_OK); } @@ -256,6 +293,11 @@ while (c = *p++) switch (c) { + case '?': + FPRINTF(outfile, usage); + exit(FINI_OK); + break; + case 'o': case 'p': sw_owners = true; @@ -379,8 +421,12 @@ sw_html_format = true; break; + case 'n': + sw_pending = true; + break; + default: - FPRINTF(outfile, "%s", valid_switches); + FPRINTF(outfile, "%s", usage); exit(FINI_OK); break; } @@ -809,9 +855,9 @@ const srq* que_inst; SRQ_LOOP(LOCK_header->lhb_owners, que_inst) { - prt_owner(outfile, LOCK_header, - (own*) ((UCHAR*) que_inst - OFFSET(own*, own_lhb_owners)), - sw_requests, sw_waitlist); + const own* owner = (own*) ((UCHAR*) que_inst - OFFSET(own*, own_lhb_owners)); + if (!sw_pending || owner->own_pending_request) + prt_owner(outfile, LOCK_header, owner, sw_requests, sw_waitlist); } } @@ -825,17 +871,19 @@ for (const srq* que_inst = (SRQ) SRQ_ABS_PTR(slot->srq_forward); que_inst != slot; que_inst = (SRQ) SRQ_ABS_PTR(que_inst->srq_forward)) { - prt_lock(outfile, LOCK_header, - (lbl*) ((UCHAR *) que_inst - OFFSET(lbl*, lbl_lhb_hash)), sw_series); + const lbl* lock = (lbl*) ((UCHAR *) que_inst - OFFSET(lbl*, lbl_lhb_hash)); + if (!sw_pending || lock->lbl_pending_lrq_count) + prt_lock(outfile, LOCK_header, lock, sw_series); } } } if (sw_history) + { prt_history(outfile, LOCK_header, LOCK_header->lhb_history, "History"); + prt_history(outfile, LOCK_header, a_shb->shb_history, "Event log"); + } - prt_history(outfile, LOCK_header, a_shb->shb_history, "Event log"); - prt_html_end(outfile); if (db_file) @@ -1113,7 +1161,7 @@ } -static void prt_lock(OUTFILE outfile, const lhb* LOCK_header, lbl* lock, USHORT sw_series) +static void prt_lock(OUTFILE outfile, const lhb* LOCK_header, const lbl* lock, USHORT sw_series) { /************************************** * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pc...@us...> - 2012-06-28 06:02:47
|
Revision: 54680 http://firebird.svn.sourceforge.net/firebird/?rev=54680&view=rev Author: pcisar Date: 2012-06-28 06:02:36 +0000 (Thu, 28 Jun 2012) Log Message: ----------- Modified Paths: -------------- python/fdb/trunk/test/testfdb.py Modified: python/fdb/trunk/test/testfdb.py =================================================================== --- python/fdb/trunk/test/testfdb.py 2012-06-28 04:48:36 UTC (rev 54679) +++ python/fdb/trunk/test/testfdb.py 2012-06-28 06:02:36 UTC (rev 54680) @@ -554,7 +554,7 @@ con2 = fdb.connect(dsn='employee',user='sysdba',password='masterkey') x = svc.getAttachedDatabaseNames() assert len(x) == 2 - assert self.dbfile.upper() in x + assert self.dbfile in x #assert '/opt/firebird/examples/empbuild/employee.fdb' in x x = svc.getConnectionCount() # print 'getConnectionCount',x This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-28 04:48:42
|
Revision: 54679 http://firebird.svn.sourceforge.net/firebird/?rev=54679&view=rev Author: firebirds Date: 2012-06-28 04:48:36 +0000 (Thu, 28 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/branches/B2_1_Release/ChangeLog firebird/branches/B2_1_Release/src/jrd/build_no.h firebird/branches/B2_1_Release/src/misc/writeBuildNum.sh Modified: firebird/branches/B2_1_Release/ChangeLog =================================================================== --- firebird/branches/B2_1_Release/ChangeLog 2012-06-28 04:39:32 UTC (rev 54678) +++ firebird/branches/B2_1_Release/ChangeLog 2012-06-28 04:48:36 UTC (rev 54679) @@ -1,3 +1,11 @@ + 2012-06-27 17:57 dimitr + M src/misc/writeBuildNum.sh +Bumped the version number. + + 2012-06-27 11:54 alexpeshkoff + M src/jrd/isc_file.cpp +Backported fix for posix of CORE-3875: GBak does not check correctly parameters and backups random database with -B ":" + 2012-06-20 09:35 paulbeach M builds/posix/postfix.darwin Copy libfbclient.dylib to Firebird SuperServer Framework Libraries to support the ODBC driver Modified: firebird/branches/B2_1_Release/src/jrd/build_no.h =================================================================== --- firebird/branches/B2_1_Release/src/jrd/build_no.h 2012-06-28 04:39:32 UTC (rev 54678) +++ firebird/branches/B2_1_Release/src/jrd/build_no.h 2012-06-28 04:48:36 UTC (rev 54679) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:18500 + FORMAL BUILD NUMBER:18502 */ -#define PRODUCT_VER_STRING "2.1.5.18500" -#define FILE_VER_STRING "WI-V2.1.5.18500" -#define LICENSE_VER_STRING "WI-V2.1.5.18500" -#define FILE_VER_NUMBER 2, 1, 5, 18500 +#define PRODUCT_VER_STRING "2.1.6.18502" +#define FILE_VER_STRING "WI-V2.1.6.18502" +#define LICENSE_VER_STRING "WI-V2.1.6.18502" +#define FILE_VER_NUMBER 2, 1, 6, 18502 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "1" -#define FB_REV_NO "5" -#define FB_BUILD_NO "18500" +#define FB_REV_NO "6" +#define FB_BUILD_NO "18502" #define FB_BUILD_TYPE "V" #define FB_BUILD_SUFFIX "Firebird 2.1" Modified: firebird/branches/B2_1_Release/src/misc/writeBuildNum.sh =================================================================== --- firebird/branches/B2_1_Release/src/misc/writeBuildNum.sh 2012-06-28 04:39:32 UTC (rev 54678) +++ firebird/branches/B2_1_Release/src/misc/writeBuildNum.sh 2012-06-28 04:48:36 UTC (rev 54679) @@ -9,7 +9,7 @@ MajorVer=2 MinorVer=1 RevNo=6 -BuildNum=18500 +BuildNum=18502 if [ "$SPECIAL_BUILD_SUFFIX" = "" ]; then # Normal builds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-28 04:39:39
|
Revision: 54678 http://firebird.svn.sourceforge.net/firebird/?rev=54678&view=rev Author: firebirds Date: 2012-06-28 04:39:32 +0000 (Thu, 28 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/branches/B2_5_Release/ChangeLog firebird/branches/B2_5_Release/src/jrd/build_no.h firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh Modified: firebird/branches/B2_5_Release/ChangeLog =================================================================== --- firebird/branches/B2_5_Release/ChangeLog 2012-06-28 04:21:30 UTC (rev 54677) +++ firebird/branches/B2_5_Release/ChangeLog 2012-06-28 04:39:32 UTC (rev 54678) @@ -1,3 +1,7 @@ + 2012-06-27 11:54 alexpeshkoff + M src/jrd/isc_file.cpp +Backported fix for posix of CORE-3875: GBak does not check correctly parameters and backups random database with -B ":" + 2012-06-24 09:13 hvlad M src/config/AdminException.cpp M src/config/InputStream.cpp Modified: firebird/branches/B2_5_Release/src/jrd/build_no.h =================================================================== --- firebird/branches/B2_5_Release/src/jrd/build_no.h 2012-06-28 04:21:30 UTC (rev 54677) +++ firebird/branches/B2_5_Release/src/jrd/build_no.h 2012-06-28 04:39:32 UTC (rev 54678) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:26502 + FORMAL BUILD NUMBER:26503 */ -#define PRODUCT_VER_STRING "2.5.2.26502" -#define FILE_VER_STRING "WI-V2.5.2.26502" -#define LICENSE_VER_STRING "WI-V2.5.2.26502" -#define FILE_VER_NUMBER 2, 5, 2, 26502 +#define PRODUCT_VER_STRING "2.5.2.26503" +#define FILE_VER_STRING "WI-V2.5.2.26503" +#define LICENSE_VER_STRING "WI-V2.5.2.26503" +#define FILE_VER_NUMBER 2, 5, 2, 26503 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "5" #define FB_REV_NO "2" -#define FB_BUILD_NO "26502" +#define FB_BUILD_NO "26503" #define FB_BUILD_TYPE "V" #define FB_BUILD_SUFFIX "Firebird 2.5" Modified: firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh =================================================================== --- firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh 2012-06-28 04:21:30 UTC (rev 54677) +++ firebird/branches/B2_5_Release/src/misc/writeBuildNum.sh 2012-06-28 04:39:32 UTC (rev 54678) @@ -9,7 +9,7 @@ MajorVer=2 MinorVer=5 RevNo=2 -BuildNum=26502 +BuildNum=26503 if [ "$SPECIAL_BUILD_SUFFIX" = "" ]; then # Normal builds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |