[Firebird-devel] [FB-Tracker] Created: (CORE-5195) Improve a Firebird compilation scripts (bat files)

2016-04-13 Thread Kovalenko Dmitry (JIRA)
Improve a Firebird compilation scripts (bat files)
--

 Key: CORE-5195
 URL: http://tracker.firebirdsql.org/browse/CORE-5195
 Project: Firebird Core
  Issue Type: Improvement
  Components: Build Issues / Porting
Affects Versions: 3.0.0
Reporter: Kovalenko Dmitry


I offer to correct the "build" process for simplified a cleanup and creation 
different sets of binaries.

At first time - for Windows environment.

1. Names of intermediate (temp, generated, output) directories should countains 
the , , 

For example:

\msvc14xp_Win32_Debug
\msvc14xp_Win32_Release
\msvc14xp_x64_Debug
\msvc14xp_x64_Release

2. Directories "output_Win32" and "output_x64" can contains the last compiled 
binaries (copies from output directory)

3. All log files must be created in "temp\\log".

Not in "builds\win32"

4. Allow the explicit definition of version Visual Studio (msvc10, msvc11, 
msvc12, msvc14 ). By default, bat-files can use last known/supported 
version.

--
Example of implementation:

https://github.com/dmitry-lipetsk/firebirdsql-core/blob/B2_5_Release/builds/win32/build_fb_all.bat

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 15:13, Alex Peshkoff wrote:
> How can implementation replace interface?
> Replace current implementation?

   Replace current interface. It was a part of new experimental plugin API.

-- 
   WBR, SD.

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/13/2016 03:45 PM, Dimitry Sibiryakov wrote:
> 13.04.2016 14:36, Alex Peshkoff wrote:
>> Do you use that class in IStatus implementation?
> No, this object was supposed to replace current IStatus completely.
>

How can implementation replace interface?
Replace current implementation?


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 14:36, Alex Peshkoff wrote:
> Do you use that class in IStatus implementation?

   No, this object was supposed to replace current IStatus completely.

-- 
   WBR, SD.

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/13/2016 01:01 PM, Dimitry Sibiryakov wrote:
> 13.04.2016 11:48, Alex Peshkoff wrote:
>> First - why do we show
>> last error happened? Typically showing first error is better choice. And
>> we use exactly this logic when for example enumerate providers in yvalve
>> - first not last error shown. Next, no space state in first directory in
>> the list is more or less usual case
> I think exactly because of this the first error is not shown.
>

Probably. OK, let it be so.
BTW, today with unlimited status length we may collect all different 
codes in the vector.


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/13/2016 01:12 PM, Dimitry Sibiryakov wrote:
> 13.04.2016 11:48, Alex Peshkoff wrote:
>>Performance issues
>> when processing an error are not critical - compared with resources
>> needed for exception throwing and catching 1 or 2 additional allocations
>> of (sooner of all) small blocks are not a problem.
> I had a prototype that was supposed to solve both problems:
> a) Status was encapsulated in all-sufficient class with reference counter.
> b) Exception object had a smart pointer for this class.

Do you use that class in IStatus implementation?


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 11:48, Alex Peshkoff wrote:
>   Performance issues
> when processing an error are not critical - compared with resources
> needed for exception throwing and catching 1 or 2 additional allocations
> of (sooner of all) small blocks are not a problem.

   I had a prototype that was supposed to solve both problems:
a) Status was encapsulated in all-sufficient class with reference counter.
b) Exception object had a smart pointer for this class.
   With this schema it was enough to save pointer to inner status object in 
external smart 
pointer and let the caught exception die. No overhead on both saving and 
re-throwing.

-- 
   WBR, SD.

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Dimitry Sibiryakov
13.04.2016 11:48, Alex Peshkoff wrote:
> First - why do we show
> last error happened? Typically showing first error is better choice. And
> we use exactly this logic when for example enumerate providers in yvalve
> - first not last error shown. Next, no space state in first directory in
> the list is more or less usual case

   I think exactly because of this the first error is not shown.

-- 
   WBR, SD.

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Crash when caught exception is stored in StaticStatusVector

2016-04-13 Thread Alex Peshkoff
On 04/12/2016 08:00 PM, Dmitry Yemanov wrote:
> 12.04.2016 15:31, Dimitry Sibiryakov wrote:
>
>> On the other hand we can restore logic described in declaration of 
>> system_error and
>> eliminate using of dynamic strings inside of this class. In this case 
>> StaticStatusVector
>> should be fine.
> I will commit a different solution. Testing it now.
>

Sorry could not answer yesterday. I see no problems with your change. 
Strings must be saved somewhere, fast-and-simple StatisStatusVector is 
usable only in a scope of an object, holding them. Performance issues 
when processing an error are not critical - compared with resources 
needed for exception throwing and catching 1 or 2 additional allocations 
of (sooner of all) small blocks are not a problem.

But there are some strange issues with the code. First - why do we show 
last error happened? Typically showing first error is better choice. And 
we use exactly this logic when for example enumerate providers in yvalve 
- first not last error shown. Next, no space state in first directory in 
the list is more or less usual case - first dir is on fast SSD, next on 
slower but very big regular HDD. And if we talk about performance 
raising an error in that case is not very good idea - may be 
TempFile::extend() should learn to return false instead raising an 
error, at least at request of caller? Last (but not least) I do not see 
a place where file is deleted in case when extend failed - appears we 
have small memory leak.


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel