Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.10.1.1
    • Fix Version/s: 10.10.1.1
    • Component/s: Documentation
    • Labels:
      None

      Description

      Documentation is needed for the new user-defined aggregates feature, both in the Reference Manual and the Developer's Guide, as described in the functional specification.

      1. DERBY-5926-3.zip
        31 kB
        Kim Haase
      2. DERBY-5926-3.stat
        0.5 kB
        Kim Haase
      3. DERBY-5926-3.diff
        30 kB
        Kim Haase
      4. DERBY-5926-2.zip
        26 kB
        Kim Haase
      5. DERBY-5926-2.diff
        27 kB
        Kim Haase
      6. DERBY-5926.zip
        26 kB
        Kim Haase
      7. DERBY-5926.stat
        0.4 kB
        Kim Haase
      8. DERBY-5926.diff
        26 kB
        Kim Haase

        Activity

        Hide
        Kim Haase added a comment -

        Thanks for your help working on this, Rick (exchanges under DERBY-672). Attaching DERBY-5926.diff, DERBY-5926.stat, and DERBY-5926.zip, with the following changes:

        M src/tools/ctoolsgenddldb.dita
        A src/ref/rrefsqljdropaggregate.dita
        M src/ref/refderby.ditamap
        M src/ref/rrefsqljrevoke.dita
        A src/ref/rrefsqljcreateaggregate.dita
        M src/ref/rrefsistabssysperms.dita
        M src/ref/rrefsistabs28114.dita
        M src/ref/rrefsqljgrant.dita
        M src/ref/rrefsqlj33923.dita
        A src/devguide/cdevspecialuda.dita
        M src/devguide/derbydev.ditamap

        I added new topics to the Reference Manual and Developer's Guide and modified additional topics in the Reference Manual and Tools Guide.

        Should "Roles" be in the list of objects in the Tools Guide topic? For some reason I had it in my sandbox version of the topic, but it never made it into the documentation on SQL roles (DERBY-3193) – should it have? Just thought I'd check.

        Show
        Kim Haase added a comment - Thanks for your help working on this, Rick (exchanges under DERBY-672 ). Attaching DERBY-5926 .diff, DERBY-5926 .stat, and DERBY-5926 .zip, with the following changes: M src/tools/ctoolsgenddldb.dita A src/ref/rrefsqljdropaggregate.dita M src/ref/refderby.ditamap M src/ref/rrefsqljrevoke.dita A src/ref/rrefsqljcreateaggregate.dita M src/ref/rrefsistabssysperms.dita M src/ref/rrefsistabs28114.dita M src/ref/rrefsqljgrant.dita M src/ref/rrefsqlj33923.dita A src/devguide/cdevspecialuda.dita M src/devguide/derbydev.ditamap I added new topics to the Reference Manual and Developer's Guide and modified additional topics in the Reference Manual and Tools Guide. Should "Roles" be in the list of objects in the Tools Guide topic? For some reason I had it in my sandbox version of the topic, but it never made it into the documentation on SQL roles ( DERBY-3193 ) – should it have? Just thought I'd check.
        Hide
        Rick Hillegas added a comment -

        Thanks for the new documentation, Kim. It looks great. One comment, not really having to do with the new material:

        rrefsqlj33923

        o There is a pre-existing mis-statement in Table 1. The MAX and MIN aggregates can operate on any datatype on which you can build an index. That includes the numeric types along with CHAR, VARCHAR, and the date/time types.

        Also, you are correct that Roles should be in the list of objects in the Tools Guide section.

        Thanks,
        -Rick

        Show
        Rick Hillegas added a comment - Thanks for the new documentation, Kim. It looks great. One comment, not really having to do with the new material: rrefsqlj33923 o There is a pre-existing mis-statement in Table 1. The MAX and MIN aggregates can operate on any datatype on which you can build an index. That includes the numeric types along with CHAR, VARCHAR, and the date/time types. Also, you are correct that Roles should be in the list of objects in the Tools Guide section. Thanks, -Rick
        Hide
        Kim Haase added a comment -

        Thanks, Rick! I'm attaching a second patch, DERBY-5926-2.diff and DERBY-5926-2.zip. The only change is to the "Aggregates (set functions)" topic. I took advantage of the opportunity to fix up the introductory text and to move the doc links from the end of the topic to the table itself, to make them easier to find. Hope that makes sense.

        Show
        Kim Haase added a comment - Thanks, Rick! I'm attaching a second patch, DERBY-5926 -2.diff and DERBY-5926 -2.zip. The only change is to the "Aggregates (set functions)" topic. I took advantage of the opportunity to fix up the introductory text and to move the doc links from the end of the topic to the table itself, to make them easier to find. Hope that makes sense.
        Hide
        Rick Hillegas added a comment -

        Thanks for the next rev of the patch, Kim. I like the way that you added links inside Table 1.

        I think that a little more tweaking will be necessary. Now Table 1 over-describes the capabilities of MAX and MIN. Those aggregates only work on indexable datatypes, that is, the ones marked with a Y in Table 2 of topic "Data type assignments and comparison, sorting, and ordering". So (to be pedantic), MAX and MIN work on

        bigint
        boolean
        char
        char for bit data
        date
        decimal
        double
        float
        int
        numeric
        real
        smallint
        time
        timestamp
        varchar
        varchar for bit data

        ...and MAX and MIN don't work on

        blob
        clob
        long varchar
        long varchar for bit data
        user-defined types
        xml

        The following script shows this:

        connect 'jdbc:derby:memory:db;create=true';

        create type serializableType external name 'java.io.Serializable' language java;

        create table allTypes
        (
        bigintCol bigint,
        blobCol blob,
        booleanCol boolean,
        charCol char( 5 ),
        charForBitDataCol char( 5 ) for bit data,
        clobCol clob,
        dateCol date,
        decimalCol decimal,
        doubleCol double,
        floatCol float,
        intCol int,
        longVarcharCol long varchar,
        longVarcharForBitDataCol long varchar for bit data,
        numericCol numeric,
        realCol real,
        smallintCol smallint,
        timeCol time,
        timestampCol timestamp,
        userDefinedTypeCol serializableType,
        varcharCol varchar( 5 ),
        varcharForBitDataCol varchar( 5 ) for bit data,
        xmlCol xml
        );

        select max( bigintCol ) from allTypes;
        select max( blobCol ) from allTypes;
        select max( booleanCol ) from allTypes;
        select max( charCol ) from allTypes;
        select max( charForBitDataCol ) from allTypes;
        select max( clobCol ) from allTypes;
        select max( dateCol ) from allTypes;
        select max( decimalCol ) from allTypes;
        select max( doubleCol ) from allTypes;
        select max( floatCol ) from allTypes;
        select max( intCol ) from allTypes;
        select max( longVarcharCol ) from allTypes;
        select max( longVarcharForBitDataCol ) from allTypes;
        select max( numericCol ) from allTypes;
        select max( realCol ) from allTypes;
        select max( smallintCol ) from allTypes;
        select max( timeCol ) from allTypes;
        select max( timestampCol ) from allTypes;
        select max( userDefinedTypeCol ) from allTypes;
        select max( varcharCol ) from allTypes;
        select max( varcharForBitDataCol ) from allTypes;
        select max( xmlCol ) from allTypes;

        Thanks,
        -Rick

        Show
        Rick Hillegas added a comment - Thanks for the next rev of the patch, Kim. I like the way that you added links inside Table 1. I think that a little more tweaking will be necessary. Now Table 1 over-describes the capabilities of MAX and MIN. Those aggregates only work on indexable datatypes, that is, the ones marked with a Y in Table 2 of topic "Data type assignments and comparison, sorting, and ordering". So (to be pedantic), MAX and MIN work on bigint boolean char char for bit data date decimal double float int numeric real smallint time timestamp varchar varchar for bit data ...and MAX and MIN don't work on blob clob long varchar long varchar for bit data user-defined types xml The following script shows this: connect 'jdbc:derby:memory:db;create=true'; create type serializableType external name 'java.io.Serializable' language java; create table allTypes ( bigintCol bigint, blobCol blob, booleanCol boolean, charCol char( 5 ), charForBitDataCol char( 5 ) for bit data, clobCol clob, dateCol date, decimalCol decimal, doubleCol double, floatCol float, intCol int, longVarcharCol long varchar, longVarcharForBitDataCol long varchar for bit data, numericCol numeric, realCol real, smallintCol smallint, timeCol time, timestampCol timestamp, userDefinedTypeCol serializableType, varcharCol varchar( 5 ), varcharForBitDataCol varchar( 5 ) for bit data, xmlCol xml ); select max( bigintCol ) from allTypes; select max( blobCol ) from allTypes; select max( booleanCol ) from allTypes; select max( charCol ) from allTypes; select max( charForBitDataCol ) from allTypes; select max( clobCol ) from allTypes; select max( dateCol ) from allTypes; select max( decimalCol ) from allTypes; select max( doubleCol ) from allTypes; select max( floatCol ) from allTypes; select max( intCol ) from allTypes; select max( longVarcharCol ) from allTypes; select max( longVarcharForBitDataCol ) from allTypes; select max( numericCol ) from allTypes; select max( realCol ) from allTypes; select max( smallintCol ) from allTypes; select max( timeCol ) from allTypes; select max( timestampCol ) from allTypes; select max( userDefinedTypeCol ) from allTypes; select max( varcharCol ) from allTypes; select max( varcharForBitDataCol ) from allTypes; select max( xmlCol ) from allTypes; Thanks, -Rick
        Hide
        Kim Haase added a comment -

        Hmm, that's interesting. So it looks as if we should change the topics on the MAX and MIN functions as well, since they don't stipulate that the data types be indexable. I'll work on another patch ...

        Show
        Kim Haase added a comment - Hmm, that's interesting. So it looks as if we should change the topics on the MAX and MIN functions as well, since they don't stipulate that the data types be indexable. I'll work on another patch ...
        Hide
        Kim Haase added a comment -

        Thanks again, Rick. Attaching DERBY-5926-3., DERBY-5926-3.stat, and DERBY-5926-3.zip, with changes to MAX and MIN in addition to the other files:

        M src/devguide/derbydev.ditamap
        A src/devguide/cdevspecialuda.dita
        M src/tools/ctoolsgenddldb.dita
        M src/ref/rrefsqlj27781.dita
        A src/ref/rrefsqljcreateaggregate.dita
        M src/ref/rrefsistabs28114.dita
        M src/ref/rrefsqljrevoke.dita
        A src/ref/rrefsqljdropaggregate.dita
        M src/ref/refderby.ditamap
        M src/ref/rrefsqlj33520.dita
        M src/ref/rrefsqljgrant.dita
        M src/ref/rrefsistabssysperms.dita
        M src/ref/rrefsqlj33923.dita

        I hope this falls short of overkill. BTW, I put "the second table" instead of "Table 2" because in the PDF it's Table 13.

        Show
        Kim Haase added a comment - Thanks again, Rick. Attaching DERBY-5926 -3., DERBY-5926 -3.stat, and DERBY-5926 -3.zip, with changes to MAX and MIN in addition to the other files: M src/devguide/derbydev.ditamap A src/devguide/cdevspecialuda.dita M src/tools/ctoolsgenddldb.dita M src/ref/rrefsqlj27781.dita A src/ref/rrefsqljcreateaggregate.dita M src/ref/rrefsistabs28114.dita M src/ref/rrefsqljrevoke.dita A src/ref/rrefsqljdropaggregate.dita M src/ref/refderby.ditamap M src/ref/rrefsqlj33520.dita M src/ref/rrefsqljgrant.dita M src/ref/rrefsistabssysperms.dita M src/ref/rrefsqlj33923.dita I hope this falls short of overkill. BTW, I put "the second table" instead of "Table 2" because in the PDF it's Table 13.
        Hide
        Rick Hillegas added a comment -

        Thanks for the third patch, Kim. These changes look great to me. +1

        Show
        Rick Hillegas added a comment - Thanks for the third patch, Kim. These changes look great to me. +1
        Hide
        Kim Haase added a comment -

        Thanks, Rick!

        Committed patch DERBY-5926-3.diff to documentation trunk at revision 1402539.

        Show
        Kim Haase added a comment - Thanks, Rick! Committed patch DERBY-5926 -3.diff to documentation trunk at revision 1402539.
        Hide
        Kim Haase added a comment -

        Closing, since changes have appeared in Latest Alpha Manuals.

        Show
        Kim Haase added a comment - Closing, since changes have appeared in Latest Alpha Manuals.

          People

          • Assignee:
            Kim Haase
            Reporter:
            Kim Haase
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development