Alexey Kovyazin | 8 Jun 13:41 2016

Broken link

Hi,


There is broken link  (http://developer.postgresql.org/cvsweb.cgi/#dirlist) at the  page http://firebirdsql.com/manual/docwritehowto-copyrights.html, using this text "http://developer.postgresql.org/cvsweb.cgi/pgsql-server/doc/src/sgml/"

I assume that associated document should be regenerated and republished to remove this link?


Regards,

Alexey


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Firebird-docs mailing list
Firebird-docs <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-docs
Jiří Činčura | 20 May 08:40 2016
Picon
Gravatar

Switches for firebird.exe

Hi *,

is there some document with switches for firebird.exe? All I see is
gbak, gfix, ... RN seem to not have such section either.

--

-- 
Mgr. Jiří Činčura
Independent IT Specialist

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Firebird-docs mailing list
Firebird-docs <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-docs
Helen Borrie | 13 May 21:34 2016
Picon
Picon

Translators: FbLangRef25 latest corrections

To translators:

I just redirected the CVS notification regarding the latest batch of
corrections in fblangref25-commons.xml and
fblangref25-functions-vars.xml.  In both cases, these are files that
are marked as already reviewed.

New builds (doc version 0.905) of both PDF and HTML are on the web
site.  The HTML was built using the new version of the stylesheet with
the sub-TOCs.

Cheers,
Helen

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Helen Borrie | 13 May 12:14 2016
Picon
Picon

[Firebird-checkins] manual/src/docs/refdocs/langref/fblangref25 fblangref25-commons.xml, 1.8, 1.9 fblangref25-functions-vars.xml, 1.5, 1.6 fblangref25.xml, 1.21, 1.22

Update of /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23534

Modified Files:
	fblangref25-commons.xml fblangref25-functions-vars.xml 
	fblangref25.xml 
Log Message:
Corrections from P. Vinkenoog and D. Simonov.

Index: fblangref25-functions-vars.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25/fblangref25-functions-vars.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- fblangref25-functions-vars.xml	27 Mar 2016 21:20:48 -0000	1.5
+++ fblangref25-functions-vars.xml	13 May 2016 10:14:26 -0000	1.6
 <at>  <at>  -5085,7 +5085,7  <at>  <at> 
 		  <formalpara>
 		    <title>Syntax</title>
 		    <para><blockquote>
-		        <programlisting>BIN_AND (<replaceable>number</replaceable> [,
<replaceable>number</replaceable> ...])</programlisting>
+		        <programlisting>BIN_AND (<replaceable>number</replaceable>,
<replaceable>number</replaceable> [, <replaceable>number</replaceable> ...])</programlisting>
 		      </blockquote></para>
 		  </formalpara>
       <table id="fblangref25-funcs-tbl-binand">
 <at>  <at>  -5103,15 +5103,19  <at>  <at> 
           <tbody>
             <row valign="middle">
               <entry align="center">number</entry>
-              <entry align="left">A 32-bit or 64-bit integer</entry>
+              <entry align="left">Any integer number (literal, smallint/integer/bigint, numeric/decimal with
scale 0)</entry>
             </row>
           </tbody>
         </tgroup>
       </table>
 		  <formalpara>
 		    <title>Result type</title>
-		    <para><database>INTEGER</database> or <database>BIGINT</database></para>
+		    <para><database>SMALLINT</database>, <database>INTEGER</database> or <database>BIGINT</database></para>
 		  </formalpara>
+		  <note>
+		    <para>SMALLINT result is returned only if all the arguments are explicit SMALLINTs or NUMERIC(n, 0)
+                    with n &lt;= 4; otherwise small integers return an INTEGER result.</para>
+		  </note>
 		  <formalpara>
 		    <title>Description</title>
 		    <para>Returns the result of the bitwise AND operation on the argument(s).</para>
 <at>  <at>  -5133,8 +5137,7  <at>  <at> 
 		  </formalpara>
                   <formalpara>
                     <title>Possible name conflict</title>
-                    <para>&nbsp;YES&mdash;<link linkend="fblangref25-functions-nameclashes">&gt;Read details</link>
-                    </para>
+                    <para>&nbsp;NO</para>
                   </formalpara>

 		  <formalpara>
 <at>  <at>  -5159,19 +5162,23  <at>  <at> 
           <tbody>
             <row valign="middle">
               <entry align="center">number</entry>
-              <entry align="left">A 32-bit or 64-bit integer</entry>
+              <entry align="left">Any integer number (literal, smallint/integer/bigint, numeric/decimal with
scale 0)</entry>
             </row>
           </tbody>
         </tgroup>
       </table>
 		  <formalpara>
 		    <title>Result type</title>
-		    <para><database>INTEGER</database> or <database>BIGINT</database></para>
+		    <para><database>SMALLINT</database>, <database>INTEGER</database> or <database>BIGINT</database></para>
 		  </formalpara>
+		  <note>
+		    <para>SMALLINT result is returned only if all the arguments are explicit SMALLINTs or NUMERIC(n, 0)
+                    with n &lt;= 4; otherwise small integers return an INTEGER result.</para>
+		  </note>
 		  <formalpara>
 		    <title>Description</title>
-		    <para>Returns the result of the bitwise NOT operation on the argument, i.e., negation,
-                    or <firstterm>ones complement</firstterm>.</para>
+		    <para>Returns the result of the bitwise NOT operation on the argument, i.e., 
+                    <firstterm>ones complement</firstterm>.</para>
 		  </formalpara>
 		  <formalpara>
 		    <title>See also</title>
 <at>  <at>  -5196,7 +5203,7  <at>  <at> 
 		  <formalpara>
 		    <title>Syntax</title>
 		    <para><blockquote>
-		        <programlisting>BIN_OR (<replaceable>number</replaceable> [,
<replaceable>number</replaceable> ...])</programlisting>
+		        <programlisting>BIN_OR (<replaceable>number</replaceable>,
<replaceable>number</replaceable> [, <replaceable>number</replaceable> ...])</programlisting>
 		      </blockquote></para>
 		  </formalpara>
       <table id="fblangref25-funcs-tbl-binor">
 <at>  <at>  -5214,15 +5221,19  <at>  <at> 
           <tbody>
             <row valign="middle">
               <entry align="center">number</entry>
-              <entry align="left">A number of an integer type</entry>
+              <entry align="left">Any integer number (literal, smallint/integer/bigint, numeric/decimal with
scale 0)</entry>
             </row>
           </tbody>
         </tgroup>
       </table>
 		  <formalpara>
 		    <title>Result type</title>
-		    <para><database>INTEGER</database> or <database>BIGINT</database></para>
+		    <para><database>SMALLINT</database>, <database>INTEGER</database> or <database>BIGINT</database></para>
 		  </formalpara>
+		  <note>
+		    <para>SMALLINT result is returned only if all the arguments are explicit SMALLINTs or NUMERIC(n, 0)
+                    with n &lt;= 4; otherwise small integers return an INTEGER result.</para>
+		  </note>
 		  <formalpara>
 		    <title>Description</title>
 		    <para>Returns the result of the bitwise OR operation on the argument(s).</para>
 <at>  <at>  -5365,7 +5376,7  <at>  <at> 
 		  <formalpara>
 		    <title>Syntax</title>
 		    <para><blockquote>
-		        <programlisting>BIN_XOR (<replaceable>number</replaceable> [,
<replaceable>number</replaceable> ...])</programlisting>
+		        <programlisting>BIN_XOR (<replaceable>number</replaceable>,
<replaceable>number</replaceable> [, <replaceable>number</replaceable> ...])</programlisting>
 		      </blockquote></para>
 		  </formalpara>
       <table id="fblangref25-funcs-tbl-binxor">
 <at>  <at>  -5383,7 +5394,7  <at>  <at> 
           <tbody>
             <row valign="middle">
               <entry align="center">number</entry>
-              <entry align="left">A number of an integer type</entry>
+              <entry align="left">Any integer number (literal, smallint/integer/bigint, numeric/decimal with
scale 0)</entry>
             </row>
           </tbody>
         </tgroup>
 <at>  <at>  -5394,8 +5405,12  <at>  <at> 
 		  </formalpara>
 		  <formalpara>
 		    <title>Result type</title>
-		    <para><database>INTEGER</database> or <database>BIGINT</database></para>
+		    <para><database>SMALLINT</database>, <database>INTEGER</database> or <database>BIGINT</database></para>
 		  </formalpara>
+		  <note>
+		    <para>SMALLINT result is returned only if all the arguments are explicit SMALLINTs or NUMERIC(n, 0)
+                    with n &lt;= 4; otherwise small integers return an INTEGER result.</para>
+		  </note>
 		  <formalpara>
 		    <title>See also</title>
                     <para>&nbsp;<link linkend="fblangref25-functions-scalarfuncs-bin_and"><database>BIN_AND</database></link>,

Index: fblangref25-commons.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25/fblangref25-commons.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- fblangref25-commons.xml	26 Apr 2016 22:38:33 -0000	1.8
+++ fblangref25-commons.xml	13 May 2016 10:14:26 -0000	1.9
 <at>  <at>  -396,24 +396,34  <at>  <at> 
               </thead>
               <tbody>
                 <row valign="middle">
+                  <entry align="center"><command>+ <replaceable>signed_number</replaceable></command></entry>
+                  <entry align="center">Unary plus</entry>
+                  <entry align="center">1</entry>
+                </row>
+                <row valign="middle">
+                  <entry align="center"><command>- <replaceable>signed_number</replaceable></command></entry>
+                  <entry align="center">Unary minus</entry>
+                  <entry align="center">1</entry>
+                </row>
+                <row valign="middle">
                   <entry align="center"><command>*</command></entry>
                   <entry align="center">Multiplication</entry>
-                  <entry align="center">1</entry>
+                  <entry align="center">2</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>/</command></entry>
                   <entry align="center">Division</entry>
-                  <entry align="center">1</entry>
+                  <entry align="center">2</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>+</command></entry>
                   <entry align="center">Addition</entry>
-                  <entry align="center">2</entry>
+                  <entry align="center">3</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>-</command></entry>
                   <entry align="center">Subtraction</entry>
-                  <entry align="center">2</entry>
+                  <entry align="center">3</entry>
                 </row>
               </tbody>
             </tgroup>
 <at>  <at>  -426,9 +436,9  <at>  <at> 
             </programlisting>
           </formalpara>
           <note>
-            <para>Where operators have the same precedence, they are evaluated in 
+            <para>Where operators have the same precedence, they are evaluated in
             left-to-right sequence.</para>
-          </note>  
+          </note>
         </section><!-- Arithmetic operators -->

         <section id="fblangref25-commons-compar">
 <at>  <at>  -456,43 +466,43  <at>  <at> 
                 <row valign="middle">
                   <entry align="center"><command>&lt;&gt;, !=, ~=, ^=</command></entry>
                   <entry align="center">Is not equal to</entry>
-                  <entry align="center">2</entry>
+                  <entry align="center">1</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>&gt;</command></entry>
                   <entry align="center">Is greater than</entry>
-                  <entry align="center">3</entry>
+                  <entry align="center">1</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>&lt;</command></entry>
                   <entry align="center">Is less than</entry>
-                  <entry align="center">4</entry>
+                  <entry align="center">1</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>&gt;=</command></entry>
                   <entry align="center">Is greater than or equal to</entry>
-                  <entry align="center">5</entry>
+                  <entry align="center">1</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>&lt;=</command></entry>
                   <entry align="center">Is less than or equal to</entry>
-                  <entry align="center">6</entry>
+                  <entry align="center">1</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>!&gt;, ~&gt;, ^&gt;</command></entry>
                   <entry align="center">Is not greater than</entry>
-                  <entry align="center">7</entry>
+                  <entry align="center">1</entry>
                 </row>
                 <row valign="middle">
                   <entry align="center"><command>!&lt;, ~&lt;, ^&lt;</command></entry>
                   <entry align="center">Is not less than</entry>
-                  <entry align="center">8</entry>
+                  <entry align="center">1</entry>
                 </row>
               </tbody>
             </tgroup>
           </table>
           <para>This group also includes comparison predicates <database>BETWEEN, LIKE,
-          CONTAINING, SIMILAR TO</database> and others.</para>
+          CONTAINING, SIMILAR TO, IS</database> and others.</para>
           <formalpara><title>Example</title>
             <programlisting>
        IF (SALARY &gt; 1400) THEN
 <at>  <at>  -991,8 +1001,8  <at>  <at> 
             </programlisting>
           </formalpara>
           <para>The <database>LIKE</database> predicate compares the character-type expression with
-          the pattern defined in the second expression. Case- or accent-sensitivity for the comparison 
-          is determined by the collation that is in use.  A collation can be specified for either 
+          the pattern defined in the second expression. Case- or accent-sensitivity for the comparison
+          is determined by the collation that is in use.  A collation can be specified for either
           operand, if required.</para>

           <section id="fblangref25-commons-wildcards">
 <at>  <at>  -1011,8 +1021,8  <at>  <at> 

         <section id="fblangref25-commons-escapechar">
           <title>Using the <database>ESCAPE</database> Character Option</title>
-          <para>If the search string contains either of the wildcard symbols, the <database>ESCAPE</database> 
-          clause can be used to specify an escape character.  The escape character must precede the '%' or '_' 
+          <para>If the search string contains either of the wildcard symbols, the <database>ESCAPE</database>
+          clause can be used to specify an escape character.  The escape character must precede the '%' or '_'
           symbol in the search string, to indicate that the symbol is to be interpreted as a
           literal character.</para>
         </section>
 <at>  <at>  -1055,9 +1065,9  <at>  <at> 
        WHERE ADDRESS LIKE '%Rostov%'
                 </programlisting>
                 <note>
-                  <para>If you need to do a case-insensitive search for something <emphasis>enclosed 
-                  inside</emphasis> a string (<function> LIKE '%Abc%' </function>), use of 
-                  the <database>CONTAINING</database> predicate is recommended, in preference to 
+                  <para>If you need to do a case-insensitive search for something <emphasis>enclosed
+                  inside</emphasis> a string (<function> LIKE '%Abc%' </function>), use of
+                  the <database>CONTAINING</database> predicate is recommended, in preference to
                   the <database>LIKE</database> predicate.</para>
                 </note>
               </listitem>
 <at>  <at>  -1123,7 +1133,7  <at>  <at> 
           <para>The <database>CONTAINING</database> predicate searches for a string or a string-like
           type looking for the sequence of characters that matches its argument. It can be used for
           an alphanumeric (string-like) search on numbers and dates. A <database>CONTAINING</database>
-          search is not case-sensitive.  However, if an accent-sensitive collation is in use then 
+          search is not case-sensitive.  However, if an accent-sensitive collation is in use then
           the search will be accent-sensitive.</para>
           <para>When <database>CONTAINING</database> is used in the search conditions of DML queries,
           the Firebird optimizer can use an index on the searched column, if a suitable one exists.</para>
 <at>  <at>  -1338,7 +1348,7  <at>  <at> 
        'Framboise' similar to 'Fr[^a][^a]boise'       -- false
        'Framboise' similar to 'Fra[^[:DIGIT:]]boise'  -- true
                   </programlisting>
-              If the caret is not placed at the start of the sequence, the class contains everything 
+              If the caret is not placed at the start of the sequence, the class contains everything
               before the caret, except for the elements that also occur after the caret:
                   <programlisting>
        'Grapefruit' similar to 'Grap[a-m^f-i]fruit'   -- true
 <at>  <at>  -1498,6 +1508,12  <at>  <at> 
             </para>
           </formalpara>
         </section> <!-- is not null -->
+        <note>
+          <title>Note regarding the IS predicates</title>
+          <para>Up to and including Firebird 2.5, the <database>IS</database> predicates, like 
+          the other comparison predicates, do not have precedence over the others.  In Firebird 3.0
+          and higher, these predicates take precedence above the others.</para>
+        </note>
       </section><!-- Other comparison predicates -->
     </section><!-- Comparison predicates -->

Index: fblangref25.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25/fblangref25.xml,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- fblangref25.xml	26 Apr 2016 22:38:33 -0000	1.21
+++ fblangref25.xml	13 May 2016 10:14:26 -0000	1.22
 <at>  <at>  -5,7 +5,7  <at>  <at> 
   <bookinfo>
     <title>Firebird 2.5 Language Reference</title>
     <subtitle>Beta Release 1</subtitle>
-    <edition>26 April 2016, document version 0.904</edition>
+    <edition>12 May 2016, document version 0.905</edition>
     <authorgroup>
       <author>
         <firstname>Dmitry</firstname>

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Firebird-checkins mailing list
Firebird-checkins <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-checkins

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Mark Rotteveel | 30 Apr 13:49 2016
Picon
Gravatar

Improve TOC and searchability of Firebird Language Reference

I've been using the Firebird Language Reference for a while now, and I 
have some annoyances with its searchability.

As an example, yesterday I was looking for a built-in function. The TOC 
unhelpfully only lists:

8. Built-in functions and Variables

     Context variables
     Scalar Functions
     Aggregate Functions

If I go to "Scalar Functions" I have:

Functions for Working with Context Variables
Mathematical Functions
Functions for Working with Strings
Date and Time Functions
Type Casting Functions
Functions for Bitwise Operations
Functions for Working with UUID
Functions for Working with Generators (Sequences)
Conditional Functions

And if I then go to "Functions for Working with Strings" I am on my own. 
At minimum I would like each of these sections to have a TOC of their 
own, so I can 1) quickly navigate to the right function and 2) easily 
link to them without having to dive into the HTML for the section id.

However compare this to the Firebird 2.5 Language Reference **Update**, 
where "Context variables", "Aggregate functions" and "Internal 
functions" are chapters on their own and the function names are listed 
in the main TOC, which makes it a lot simpler to go directly to the 
function you want.

As another example, I was looking for the section on Global Temporary 
Tables. The TOC only has:

5. Data Definition (DDL) Statements

     DATABASE
     SHADOW
     DOMAIN
     TABLE
     INDEX
     VIEW
     TRIGGER
     PROCEDURE
     EXTERNAL FUNCTION
     FILTER
     SEQUENCE (GENERATOR)
     EXCEPTION
     COLLATION
     CHARACTER SET
     ROLE
     COMMENTS

When I go to TABLE, I get

CREATE TABLE
ALTER TABLE
DROP TABLE
RECREATE TABLE

And from CREATE TABLE I am on my own, and have to look myself for the 
section "Global Temporary Tables (GTT)" (which - on my screen - is 7 
pages down from the start of CREATE TABLE). And if I want to link to it, 
I again have to dive into the HTML to get the section id.

In general I think the searchability of the documentation would be 
greatly improved if the TOC was three levels deep, and/or if the 
sections were reorganized. It would also be helpful if chapters and 
important sections start with a TOC of that section, and where already 
present, a TOC with more levels might be helpful.

Sometimes I can only get quickly to a section by the presence of the 
"List of Tables" in the TOC. But the anchor is not the right anchor for 
the section as a whole, which makes it less suitable for linking.

It would also be helpful if sections themselves have a self-referencing 
link. For an example see http://asciidoctor.org/docs/user-manual/ where 
the mouseover on a section titles, will display a symbol that links to 
the section. This allows for quickly and easily getting the URL to that 
specific section.

Mark
--

-- 
Mark Rotteveel

------------------------------------------------------------------------------
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
Stefan Heymann | 27 Apr 11:01 2016
Picon

Fb3 Release Notes

Hello all,

I have seen this in the Fb3 Final Release Notes on Page 108:

  The size of the body of a stored procedure or a trigger can exceed
  the traditional limit of 32 KB. The theoretical limit provided by
  the new API is 4GB. At the moment, as a security measure, a
  hard-coded limit of 10MB is imposed. The same limit of 10MB also
  applies to any user-defined DSQL query.
  ********* It may change before the final release. *********

Regards

Stefan

------------------------------------------------------------------------------
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
Helen Borrie | 27 Apr 02:17 2016
Picon
Picon

FbLangRef25 Translators & Reviewers


To those currently reviewing and translating the Language Reference, I
have put up new PDF and HTML builds today - build 0.904 - and have
updated the sources in CVS - see the diff file I sent to the list.

These are small changes in the DDL and Commons chapters but they are
in sections that are marked as "already reviewed".

Cheers,
Helen

------------------------------------------------------------------------------
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
Helen Borrie | 27 Apr 00:38 2016
Picon
Picon

[Firebird-checkins] manual/src/docs/refdocs/langref/fblangref25 fblangref25-commons.xml, 1.7, 1.8 fblangref25-ddl.xml, 1.10, 1.11 fblangref25.xml, 1.20, 1.21

Update of /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24351

Modified Files:
	fblangref25-commons.xml fblangref25-ddl.xml fblangref25.xml 
Log Message:
Another batch of suggested edits from Aage Johansen

Index: fblangref25-commons.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25/fblangref25-commons.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- fblangref25-commons.xml	28 Mar 2016 19:03:03 -0000	1.7
+++ fblangref25-commons.xml	26 Apr 2016 22:38:33 -0000	1.8
 <at>  <at>  -928,6 +928,12  <at>  <at> 
           </listitem>
         </orderedlist>
       </formalpara>
+      
+      <note>
+        <title>Note about String Comparison</title>
+        <para>When <database>CHAR</database> and <database>VARCHAR</database> fields are compared for 
+        equality, trailing spaces are ignored in all cases.</para>
+      </note>

       <section id="fblangref25-commons-othercomppreds">
         <title>Other Comparison Predicates</title>

Index: fblangref25-ddl.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25/fblangref25-ddl.xml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- fblangref25-ddl.xml	27 Mar 2016 21:20:47 -0000	1.10
+++ fblangref25-ddl.xml	26 Apr 2016 22:38:33 -0000	1.11
 <at>  <at>  -1792,13 +1792,13  <at>  <at> 
       </section><!-- array column -->

       <section id="fblangref25-ddl-tbl-constraints">
-          <title>Constraints</title>
-          <para>Four types of constraints can be specified.  They are:
-          <itemizedlist spacing="compact">
-            <listitem>Primary key (<database>PRIMARY KEY</database>)</listitem>
-            <listitem>Unique key (<database>UNIQUE</database>)</listitem>
-            <listitem>Foreign key (<database>REFERENCES</database>)</listitem>
-            <listitem><database>CHECK</database> constraint (<database>CHECK</database>)</listitem>
+        <title>Constraints</title>
+        <para>Four types of constraints can be specified.  They are:
+        <itemizedlist spacing="compact">
+          <listitem>Primary key (<database>PRIMARY KEY</database>)</listitem>
+          <listitem>Unique key (<database>UNIQUE</database>)</listitem>
+          <listitem>Foreign key (<database>REFERENCES</database>)</listitem>
+          <listitem><database>CHECK</database> constraint (<database>CHECK</database>)</listitem>
         </itemizedlist>
         </para>
         <para>Constraints can be specified at column level (<quote>column constraints</quote>)
 <at>  <at>  -1809,7 +1809,7  <at>  <at> 
         whether the constraint is being defined at column or table level.
           <itemizedlist>
             <listitem>A column-level constraint is specified during a column definition, after
-            all column attributes except <database>COLLATION</database> are specified, and can 
+            all column attributes except <database>COLLATION</database> are specified, and can
             involve only the column specified in that definition</listitem>
             <listitem>Table-level constraints are specified after all of the column definitions.
             They are a more flexible way to set constraints, since they can cater for constraints
 <at>  <at>  -1821,32 +1821,46  <at>  <at> 
         <para>The system automatically creates the corresponding index for a primary key
         (<database>PRIMARY KEY</database>), a unique key (<database>UNIQUE</database>) and a
         foreign key (<database>REFERENCES</database> for a column-level constraint, <database>FOREIGN
-        KEY REFERENCES</database> for one at the table level). If the name of the constraint is
-        specified, the automatically created index will have this name (if there is no explicit
-        <database>USING</database> clause).</para>
+        KEY REFERENCES</database> for one at the table level).</para>

-        <section id="fblangref25-ddl-tbl-constraints-using">
-          <title>The <database>USING</database> Clause</title>
-          <para>The <database>USING</database> clause allows you to specify a user-defined name for the index
that is
-          created automatically and, optionally, to define the direction of the index&mdash;either
-          ascending (the default) or descending.</para>
-        </section>
+        <section id="fblangref25-ddl-tbl-constraints-names">
+          <title>Names for Constraints and Their Indexes</title>
+          <para>Column-level constraints and their indexes are named automatically:
+            <itemizedlist>
+              <listitem>The constraint name has the form <database>INTEG_n</database>, where
+             <database>n</database>represents one or more numerals</listitem>
+             <listitem>The index name has the form <database>RDB$PRIMARYn</database> (for a
+              primary key index), <database>RDB$FOREIGNn</database> (for a foreign key index)
+              or <database>RDB$n</database> (for a unique key index).  Again, <database>n</database>
+              represents one or more numerals</listitem>
+            </itemizedlist>
+          </para>
+          <para>Automatic naming of table-level constraints and their indexes follows the same
+          pattern, unless the names are supplied explicitly.</para>

-        <para>If the constraint specification clause does not define a name for a constraint,
-        the DBMS will generate one for it automatically.  However, you can specify a name for
-        any constraint.</para>
+          <section id="fblangref25-ddl-tbl-constraints-named">
+            <title>Named Constraints</title>
+            <para>A constraint can be named explicitly if the <database>CONSTRAINT</database> clause
+            is used for its definition. While the <database>CONSTRAINT</database> clause is optional
+            for defining column-level constraints, it is mandatory for table-level.  By default, the
+            constraint index will have the same name as the constraint.  If a different name is wanted
+            for the constraint index, a <database>USING</database> clause can be included.</para>
+          </section>

-        <section id="fblangref25-ddl-tbl-constraints-named">
-          <title>Named Constraints</title>
-          <para>The optional <database>CONSTRAINT</database> clause defines the name of a
-          constraint.</para>
-        </section>
+          <section id="fblangref25-ddl-tbl-constraints-using">
+            <title>The <database>USING</database> Clause</title>
+            <para>The <database>USING</database> clause allows you to specify a user-defined name for
+            the index that is created automatically and, optionally, to define the direction of the
+            index&mdash;either ascending (the default) or descending.</para>
+          </section>
+        </section><!-- names for constraints and their indexes -->

         <section id="fblangref25-ddl-tbl-constraints-pk">
           <title><database>PRIMARY KEY</database></title>
-          <para>The <database>PRIMARY KEY</database> constraint is built on a field with the
-          <database>NOT NULL</database> constraint specified for it and requires the column values
-          to be unique. A table can have only one primary key.
+          <para>The <database>PRIMARY KEY</database> constraint is built on one or more
+          <firstterm>key columns</firstterm>, each column having the <database>NOT NULL</database>
+          constraint specified for it.  The values across the key columns in any row must be unique.
+          A table can have only one primary key.
           <itemizedlist spacing="compact">
             <listitem>A single-column Primary Key can be defined as a column level or a
             table-level constraint</listitem>
 <at>  <at>  -1941,8 +1955,8  <at>  <at> 
           <section id="fblangref25-ddl-tbl-constraints-fkactions">
             <title>Foreign Key Actions</title>
             <para>With the sub-clauses <database>ON UPDATE</database> and <database>ON
-            DELETE</database> it is possible to specify an action to be taken on 
-            the affected foreign key column(s) when referenced values in the master table 
+            DELETE</database> it is possible to specify an action to be taken on
+            the affected foreign key column(s) when referenced values in the master table
             are changed:
               <itemizedlist>
                 <listitem><database>NO ACTION</database> (the default) - Nothing is
 <at>  <at>  -1959,8 +1973,8  <at>  <at> 
               </itemizedlist>
             The specified action, or the default <database>NO ACTION</database>, could cause
             a Foreign Key column to become invalid.  For example, it could get a value that is
-            not present in the master table, or it could become <database>NULL</database> while 
-            the column has a <database>NOT NULL</database> constraint.  Such conditions will 
+            not present in the master table, or it could become <database>NULL</database> while
+            the column has a <database>NOT NULL</database> constraint.  Such conditions will
             cause the operation on the master table to fail with an error message.
             </para>
             <formalpara>
 <at>  <at>  -1973,7 +1987,7  <at>  <at> 
               </programlisting></blockquote>
             </formalpara>
           </section> <!-- FK actions -->
-        </section><!-- references -->
+        </section><!-- foreign key -->

         <section id="fblangref25-ddl-tbl-constraints-check">
           <title><database>CHECK</database> Constraint</title>
 <at>  <at>  -1987,7 +2001,7  <at>  <at> 
           these actions may take place (UPDATE OR INSERT, MERGE).</para>
           <important>
             <para>A <database>CHECK</database> constraint on a domain-based column does not replace an
-            existing <database>CHECK</database> condition on the domain, but becomes an addition to 
+            existing <database>CHECK</database> condition on the domain, but becomes an addition to
             it.  The Firebird engine has no way, during definition, to verify that the extra
             <database>CHECK</database> does not conflict with the existing one.</para>
           </important>
 <at>  <at>  -2114,7 +2128,7  <at>  <at> 
                   mapping will not work.  Paths enclosed in single or double quotes will not work, either.</listitem>
                 </itemizedlist>
               </listitem>
-              <listitem>If this parameter is set to <function>Full</function>, external files may be accessed 
+              <listitem>If this parameter is set to <function>Full</function>, external files may be accessed
               anywhere on the host file system.  It creates a security vulnerability and is not recommended.</listitem>
             </itemizedlist>
           </para>
 <at>  <at>  -2134,7 +2148,7  <at>  <at> 
           types are easily cast to and from strings whereas, unless the files are to be read by another Firebird
           database, the native data types will appear to external applications as unparseable <quote>alphabetti</quote>.</para>

-          <para>Of course, there are ways to manipulate typed data so as to generate output files from Firebird 
+          <para>Of course, there are ways to manipulate typed data so as to generate output files from Firebird
           that can be read directly as input files to other applications, using stored procedures, with or without
           employing external tables.  Such techniques are beyond the scope of a language reference.  Here, we
           provide some guidelines and tips for producing and working with simple text files, since the external
 <at>  <at>  -2143,19 +2157,19  <at>  <at> 

           <section id="fblangref25-ddl-tbl-ext-format-delimiter">
             <title>Row Delimiters</title>
-            <para>Generally, external files are more useful if rows are separated by a delimiter, in the form 
-            of a <quote>newline</quote> sequence that is recognised by reader applications on the intended 
-            platform.  For most contexts on Windows, it is the two-byte 'CRLF' sequence, carriage return (ASCII 
-            code decimal 13) and line feed (ASCII code decimal 10). On POSIX, LF on its own is usual;  for some 
-            MacOSX applications, it may be LFCR.  There are various ways to populate this delimiter column.  
-            In our example below, it is done by using a Before Insert trigger and the internal function 
+            <para>Generally, external files are more useful if rows are separated by a delimiter, in the form
+            of a <quote>newline</quote> sequence that is recognised by reader applications on the intended
+            platform.  For most contexts on Windows, it is the two-byte 'CRLF' sequence, carriage return (ASCII
+            code decimal 13) and line feed (ASCII code decimal 10). On POSIX, LF on its own is usual;  for some
+            MacOSX applications, it may be LFCR.  There are various ways to populate this delimiter column.
+            In our example below, it is done by using a Before Insert trigger and the internal function
             <database>ASCII_CHAR</database>.</para>
           </section> <!-- row delimiters -->

           <bridgehead renderas="sect4">External Table Example</bridgehead>
           <para>For our example, we will define an external log table that might be used by an exception handler
           in a stored procedure or trigger.  The external table is chosen because the messages from any
-          handled exceptions will be retained in the log, even if the transaction that launched the process is 
+          handled exceptions will be retained in the log, even if the transaction that launched the process is
           eventually rolled back because of another, unhandled exception.  For demonstration purposes, it has
           just two data columns, a time stamp and a message.  The third column stores the row delimiter:
            <blockquote><programlisting>
 <at>  <at>  -2282,7 +2296,7  <at>  <at> 
           </listitem>
           <listitem>Creating a transaction-scoped global temporary table that uses a
           foreign key to reference a connection-scoped global temporary table. The ON
-          COMMIT sub-clause is optional because it is the default.
+          COMMIT sub-clause is optional because DELETE ROWS is the default.
             <programlisting>
 CREATE GLOBAL TEMPORARY TABLE MYTXGTT (
     ID INTEGER NOT NULL PRIMARY KEY,
 <at>  <at>  -2483,7 +2497,7  <at>  <at> 
               <entry align="left">The condition of a CHECK constraint that will be satisfied if it 
               evaluates to TRUE or UNKNOWN/NULL</entry>
             </row>
-            <row valign="middle">
+            <row valign="bottom">
               <entry align="center">collation</entry>
               <entry align="left">Name of a collation sequence that is valid for 
               <replaceable>charset_name</replaceable>, if it is supplied with 
 <at>  <at>  -2562,7 +2576,7  <at>  <at> 
       </table>
       <para>The <database>ALTER TABLE</database> statement changes the structure of an existing table.
       With one <database>ALTER TABLE</database> statement it is possible to perform multiple operations,
-      inserting/dropping columns and constraints and also altering column specifications.</para>
+      adding/dropping columns and constraints and also altering column specifications.</para>
       <para>Multiple operations in an <database>ALTER TABLE</database> statement are separated with
       commas.</para>

 <at>  <at>  -2974,11 +2988,16  <at>  <at> 

       <section id="fblangref25-ddl-idx-drctn">
         <title>Index Direction</title>
-        <para>An index may be constructed from the lowest value to the highest (ascending order) or from the
-        highest value to the lowest (descending order).  The keywords <database>ASC[ENDING]</database> and
-        <database>DESC[ENDING]</database> are used to specify the direction of the index.  The default index
order is
-        <database>ASC[ENDING]</database>.</para>
-      </section>
+        <para>All indexes in Firebird are uni-directional.  An index may be constructed from the lowest value 
+        to the highest (ascending order) or from the highest value to the lowest (descending order).  
+        The keywords <database>ASC[ENDING]</database> and <database>DESC[ENDING]</database> are used to 
+        specify the direction of the index.  The default index order is <database>ASC[ENDING]</database>.
+        It is quite valid to define both an ascending and a descending index on the same column or key set.</para>
+        <tip>
+          <para>A descending index can be useful on a column that will be subjected to searches on the 
+          high values (<quote>newest</quote>, maximum, etc.)</para>
+        </tip>
+      </section>    

       <section id="fblangref25-ddl-idx-exprssn">
         <title>Computed (Expression) Indexes</title>
 <at>  <at>  -3194,12 +3213,23  <at>  <at> 
       </table>

       <para>The <database>ALTER INDEX</database> statement activates or deactivates an index.
-      There is no facility om this statement for altering any attributes of the index.
+      There is no facility on this statement for altering any attributes of the index.
         <itemizedlist>
-          <listitem>With the <database>INACTIVE</database> option, the index is switched from the
-          active to inactive state. The effect is similar to the <database>DROP INDEX</database> statement
-          except that the index definition remains in the database.  Altering a constraint index to
-          inactive is not permitted.
+          <listitem>
+            <para>With the <database>INACTIVE</database> option, the index is switched from the
+            active to inactive state. The effect is similar to the <database>DROP INDEX</database> statement
+            except that the index definition remains in the database.  Altering a constraint index to the
+            inactive state is not permitted.</para>
+            <para>An active index can be deactivated if there are no queries using that index; otherwise,
+            an <quote>object in use</quote> error is returned.</para>
+            <para>Activating an inactive index is also safe.  However, if there are active transactions
+            modifying the table, the transaction containing the <database>ALTER INDEX</database>
+            statement will fail if it has the <database>NOWAIT</database> attribute.  If the transaction is
+            in <database>WAIT</database> mode, it will wait for completion of concurrent transactions.</para>
+            <para>On the other side of the coin, if our <database>ALTER INDEX</database> succeeds and starts
+            to rebuild the index at <database>COMMIT</database>, other transactions modifying that table
+            will fail or wait, according to their <database>WAIT/NO WAIT</database> attributes. The situation
+            is exactly the same for <database>CREATE INDEX</database>.</para>
             <note>
               <title>How is it Useful?</title>
               <para>It might be useful to switch an index to the inactive state whilst inserting,
 <at>  <at>  -3213,7 +3243,8  <at>  <at> 
               <title>How is it Useful?</title>
               <para>Even if the index is <emphasis>active</emphasis> when <database>ALTER INDEX ... ACTIVE</database>
               is executed, the index will be rebuilt.  Rebuilding indexes can be a useful piece of houskeeping to
-              do, occasionally, on the indexes of a large table in a database that is infrequently restored.</para>
+              do, occasionally, on the indexes of a large table in a database that has frequent inserts, updates or
+              deletes but is infrequently restored.</para>
             </note>
           </listitem>
         </itemizedlist>
 <at>  <at>  -3227,7 +3258,6  <at>  <at> 
         indexes as it does with others, as an index rebuilding tool.</para>
       </section>

-
       <para>Only the table owner and <link linkend="fblangref25-security-administrators">administrators</link>
       have the authority to use <database>ALTER INDEX</database>.</para>

 <at>  <at>  -3358,11 +3388,9  <at>  <at> 
         because it is impossible to select more than one row for each value of an index key if
         it is used. Keeping the selectivity of an index up to date is important for the optimizer's
         choices in seeking the most optimal query plan.</para>
-        <para>Index statistics in Firebird are not automatically recalculated, either after a lot
-        of data has been modified or under any other conditions.</para>
-        <para>It may be necessary to recalculate the selectivity of an index after inserting,
-        updating or deleting a large number of records in the table, because the selectivity tends
-        to become outdated.
+        <para>Index statistics in Firebird are not automatically recalculated in response to large 
+        batches of inserts, updates or deletions.  It may be beneficial to recalculate the selectivity 
+        of an index after such operations because the selectivity tends to become outdated.
           <note>
             <para>The statements <database>CREATE INDEX</database> and <database>ALTER INDEX
             ACTIVE</database> both store index statistics that completely correspond to the
 <at>  <at>  -3370,8 +3398,12  <at>  <at> 
           </note>
         </para>
       </section>
+
       <para>The selectivity of an index can be recalculated by the owner of the table
-      or an <link linkend="fblangref25-security-administrators">administrator</link>.</para>
+      or an <link linkend="fblangref25-security-administrators">administrator</link>. It can be
+      performed under concurrent load without risk of corruption.  However, be aware that,
+      under concurrent load, the newly calculated statistics could become outdated as soon as
+      <database>SET STATISTICS</database> finishes.</para>

       <formalpara>
         <title>Example Using SET STATISTICS</title>
 <at>  <at>  -3379,8 +3411,8  <at>  <at> 
           <blockquote><programlisting>
 SET STATISTICS INDEX IDX_UPDATER;
            </programlisting></blockquote>
-         </para>
-       </formalpara>
+        </para>
+      </formalpara>
       <formalpara><title>See also</title>
         <para> <link linkend="fblangref25-ddl-idx-create"><database>CREATE INDEX</database></link>,
         <link linkend="fblangref25-ddl-idx-altridx"><database>ALTER INDEX</database></link>
 <at>  <at>  -3502,7 +3534,7  <at>  <at> 
             aggregate functions, such as <database>MIN</database>, <database>MAX</database>, <database>AVG</database>,
             <database>SUM</database>, <database>COUNT</database>, <database>LIST</database></listitem>
            <listitem>the <database>SELECT</database> statement contains no <database>ORDER BY</database> or
-           <database>GROUP BY</database> or GROUP BY clause</listitem>
+           <database>GROUP BY</database> clause</listitem>
            <listitem>the <database>SELECT</database> statement does not include the keyword <database>DISTINCT</database>
            or row-restrictive keywords such as <database>ROWS</database>, <database>FIRST</database>,
            <database>SKIP</database></listitem>

Index: fblangref25.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/refdocs/langref/fblangref25/fblangref25.xml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- fblangref25.xml	28 Mar 2016 19:03:03 -0000	1.20
+++ fblangref25.xml	26 Apr 2016 22:38:33 -0000	1.21
 <at>  <at>  -5,7 +5,7  <at>  <at> 
   <bookinfo>
     <title>Firebird 2.5 Language Reference</title>
     <subtitle>Beta Release 1</subtitle>
-    <edition>29 March 2016, document version 0.903</edition>
+    <edition>26 April 2016, document version 0.904</edition>
     <authorgroup>
       <author>
         <firstname>Dmitry</firstname>

------------------------------------------------------------------------------
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-checkins mailing list
Firebird-checkins <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-checkins

------------------------------------------------------------------------------
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
Paul Vinkenoog | 11 Apr 05:33 2016
Picon
Gravatar

Firebird 3 Quick Start Guide

Hi all,

The Firebird 3 Quick Start Guide is available at:

  http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/Firebird-3-QuickStart.pdf
  http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/qsg3.html

It's not yet visible at the index page, because FB3 hasn't been released yet.

There are probably still some rough edges to the guide, but I couldn't wait any longer: the first packages
may be built today.

If you find any errors, please let us know.

Cheers,
Paul Vinkenoog

------------------------------------------------------------------------------
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! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532
Helen Borrie | 10 Apr 23:39 2016
Picon
Picon

Re: LangRef 2.5beta1 - a few more suggestions /5

Hello Aage,

Monday, April 11, 2016, 6:23:52 AM, you wrote:

> I'll have mostly non-Firebird things on my mind the next week, so I'm 
> just unloading my latest comments now!

Hope it goes well for you Aage!
I'm not ignoring your suggestions, just a bit swamped at the moment
with customer work and Fb 3 release.

Thanks again!

Kia ora,
Helen

------------------------------------------------------------------------------
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! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532
Aage Johansen | 10 Apr 20:23 2016
Picon
Picon

LangRef 2.5beta1 - a few more suggestions /5


I'll have mostly non-Firebird things on my mind the next week, so I'm 
just unloading my latest comments now!

==============================================
p.117
Add a sentence to make it clear when the trigger is fired:
For mutation events, does the trigger fire at commit or at individual 
insert/update/delete.
For two-phase-commit, it is described at p.122 (good!).

p.119:
"Declarations and embedded statements are terminated with semi-colons (;)."

For statements with a begin...end block, no semi-colon is used.
----------------------------------------

Simple "if":
   BEGIN
     IF (NEW.cust_no IS NULL) THEN
       NEW.cust_no = GEN_ID(cust_no_gen, 1);
   END

But, with a block of statements:
   BEGIN
     IF (NEW.cust_no IS NULL) THEN
     BEGIN
       NEW.cust_no = GEN_ID(cust_no_gen, 1);
     END
   END

p.248 reveals that
"The BEGIN and END statements have no line terminators."
This explains it, but:
a)
This is a trap for new users - please make a note around p.119 (about 
semi-colons).
b)
"line terminators"?  "statement terminator" seems better.

And "embedded statements" - are these just ordinary statements in the trigger?

----------------------------------------

p.124
ALTER TRIGGER set_cust_no INACTIVE;

Does this have immediate effect, even without a commit?
If a user inactivates a trigger, does something and then activates 
the trigger - what is
the effect for users (in the inactive periode)?  And, is it really 
inactive (without a commit)?
I believe there has been some confused/confusing discussions on the 
support list in the past on whether
a user can have a trigger de-activated just for himself.  (He cannot, IIRC)

==============================================

--

-- 
Aage J.

------------------------------------------------------------------------------
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! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532

Gmane