Not a problem at all.

There is a section on this in the HSQLdb users manual - a somewhat
outdated version of which can be found on-line at http://hsqldb.org.
The document included with the HSQLdb distribution package is actually
more current then the wed site, and I will email a copy the latest one
to you directly.

There are few things to really cover for an intermediate level with this, IMO.

One is that Hsqldb is a pure java implementation and each of those
data types map directly to a java data type. In some cases multiple
Base data types will map to a common java data type.

Second - HSQldb has two modes of operations with respect to scalar
values. Strict and relaxed - relaxed mode makes use of this
multi-to-one mapping for some of the numeric types, so for instance
you might have a field defined as a Small Int, in strict mode an
attempt to write an Integer value would generate an error. Even though
underneath the actual storage size allocated is an integer for both
Small Int and Int. In relaxed mode the larger value would be accepted,
quietly.

Finally,  there should be some mention of the fact that Base is not
actually married to the embedded HSQLdb engine at all. The fact that
it ships with this is more a matter of convenience, the design of the
module is such that additional database engines could be supported in
both embedded and in client / server environments. Not to mention the
support for working with a spreadsheet as a data store, text files and
dBase files. In each of these cases the Base data type will map to
slightly different data types in the engine. Perhaps though this is
better left for an advanced treatment.

One other point thing, by way of preempting a later question. Default
functions available with Base. The HSQldb documentation gives very
terse treatment to the supplied data functions and stored procedures.
You will find a more expansive coverage at here:
http://wiki.services.openoffice.org/wiki/Built-in_functions_and_Stored_Procedures

I have managed to get through the numeric, string and date time
functions so far - for each there where two steps taken.

1 ) Reviewed the HSQLdb source code and extracted any pertinent
information regarding boundary conditions. For those where the
function is actually just a wrapper around JRE supplied library
function I have used text from the java docs. In a couple of cases
actually adding functions to the wiki document that the HSQLdb left
out of their manual by oversight.

2 ) Tested each one in the three Base query modes. The GUI query
designer, the SQL view of the query designer and when passed directly
to the engine without any pre-processing. Not all functions are
available in all nodes, or they may require slightly different syntax
in different modes. These differences have been noted for each  - but
they are getting very close to full coverage with this last release of
Base.

At this point that document needs to be finished for the aggregate
functions and to cover some of the quirks that HSQLdb imposes, and not
found in most other engines.

Finally it needs to cover the commands such as CASE WHEN, NULLIF and
the like. There is nothing in the document yet but I have, I feel, a
good set of examples already compiled for each.

I was hoping that this work with you would be the perfect way to get
that finished. The only thing I would need to point out is that my
intention is to donate that document back to the HSQLdb project for
use in there documentation also, as soon as it is finished.

OK - enough for now. I'll get that HSQLdb users manual off to straight away.

Drew

On 9/26/07, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> Frank has set up a OOo Docs Wiki where I intend to publish more polished
> work. In the meantime I will accept Andrew's offer and will ask him for
> details once I am ready to submit any material.
>
> Thank you all for your help and interest in this work!
>
> Andrew, I would like some help undewrstanding the variable types offered
> by Base. I have not been able to find info about them and do not want to
> make the assumption that they mean exactly what other database systems
> understand them to be.
>
> I would appreciate any help on finding documentation about them or, if you
> know their specs and how Base treats them, some lines from you.
>
> The variables are:
>
> Tiny Interger
> Big Interger
> Image (long var binary)
> Binay (Varbinary)
> Binary (fix)
> Mamo (long var char)
> Text(char) -fix
> Text (varchar)
> Text (varchar ignorecase) --> very interesting!
> Number (numeric)
> Decimal
> Interger
> Small Interger
> Float
> Real
> Double
> Boolean
> Date
> Time
> Timestamp
> Other  -->??
>
> I hope that this is not a headache for you. I truly believe that
> understanding variable attributes is fundamental to a useful and reliable
> data base design.
>
> Thanks again.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to