summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJames Moger <james.moger@gmail.com>2011-08-12 14:55:02 -0400
committerJames Moger <james.moger@gmail.com>2011-08-12 14:55:02 -0400
commit373a5c74f4c5e8cc19812a63893f6090d8f14b95 (patch)
tree249d858e377a95be68942e061cf97e91808a5601 /docs
parent783797ff9ddfafa19481fda5295fcacd3c9b51cd (diff)
downloadiciql-373a5c74f4c5e8cc19812a63893f6090d8f14b95.tar.gz
iciql-373a5c74f4c5e8cc19812a63893f6090d8f14b95.zip
Documentation. Source cleanup. Prepare 0.6.4 release.v0.6.4
Diffstat (limited to 'docs')
-rw-r--r--docs/00_index.mkd2
-rw-r--r--docs/01_model_classes.mkd2
-rw-r--r--docs/02_usage.mkd2
-rw-r--r--docs/05_releases.mkd17
4 files changed, 15 insertions, 8 deletions
diff --git a/docs/00_index.mkd b/docs/00_index.mkd
index 79139cf..f86e396 100644
--- a/docs/00_index.mkd
+++ b/docs/00_index.mkd
@@ -5,7 +5,7 @@ iciql **is**...
- a model-based, database access wrapper for JDBC
- for modest database schemas and basic statement generation
- for those who want to write code, instead of SQL, using IDE completion and compile-time type-safety
-- small (100KB) with no runtime dependencies
+- small (120KB) with no runtime dependencies
- pronounced *icicle* (although it could be French: *ici ql* - here query language)
- a friendly fork of the H2 [JaQu][jaqu] project
diff --git a/docs/01_model_classes.mkd b/docs/01_model_classes.mkd
index 7e050bb..94fdcc2 100644
--- a/docs/01_model_classes.mkd
+++ b/docs/01_model_classes.mkd
@@ -105,6 +105,8 @@ The recommended approach to setup a model class is to annotate the class and fie
You may specify default values for an @IQColumn by either:
1. specifying the default value string within your annotation<br/>
+**NOTE:**<br/>
+The annotated default value always takes priority over a field default value.
%BEGINCODE%
// notice the single ticks!
@IQColumn(defaultValue="'2000-01-01 00:00:00'")
diff --git a/docs/02_usage.mkd b/docs/02_usage.mkd
index 4f823b5..2659e86 100644
--- a/docs/02_usage.mkd
+++ b/docs/02_usage.mkd
@@ -113,7 +113,7 @@ The Product model class instance named **p** is an *alias* object. An *alias* i
1. *Alias* instances are **NOT** thread-safe and must not be used concurrently.
2. *Alias* instances have no other purpose than to provide a compile-time/runtime map of your table.
-3. If you inspected an *alias* instance after using one you would find that it's fields have been assigned numeric values.<br/>These values are assigned from a static counter in `com.iciql.Utils.newObject()` during execution of the *db.from()* method.<p>For *Object* fields, these values are meaningless since objects are mapped by reference. These values do matter for *primitive* fields where they are mapped by value.
+3. If you inspected an *alias* instance after using one you would find that it's fields have been assigned numeric values.<br/>These values are assigned from a static counter in `com.iciql.Utils.newObject()` during execution of the *db.from()* method.<p>For *Object* fields, these values are meaningless since objects are mapped by reference.<br/>For *Primitive* fields these values do matter because primitives are mapped by value. The proper alias is selected as long as the primitive variant methods are used. e.g. db.from(p).where(int).is(Integer).select()
If your statement is a query, like in the above example, iciql will generate new instances of your *alias* model class and return them as a list where each entry of the list represents a row from the JDBC `ResultSet`.
diff --git a/docs/05_releases.mkd b/docs/05_releases.mkd
index 5eba86f..a837a31 100644
--- a/docs/05_releases.mkd
+++ b/docs/05_releases.mkd
@@ -8,21 +8,26 @@
- api change release (API v4)
- @IQTable.createIfRequired -> @IQTable.create
-- don't INSERT primitive autoIncrement primaryKey fields, let database assign value
+- don't INSERT primitive autoIncrement fields, let database assign value
- full support for primitives in all clauses
- DECIMAL(length, scale) support
- unspecified length String fields are now CLOB instead of TEXT. dialects can intercept this and convert to another type. e.g. MySQL dialect can change CLOB to TEXT.
-- Boolean now maps to BOOLEAN instead of BIT
+- java.lang.Boolean now maps to BOOLEAN instead of BIT
- expressions on unmapped fields will throw an IciqlException
-- improved exception reporting
+- expressions on unsupported types will throw an IciqlException
+- improved exception reporting by including generated statement, if available
- moved dialects back to main package
- improved automatic dialect determination on pooled connections
- moved create table and create index statement generation into dialects
-- added HSQL dialect. HSQL fails 4 out of 49 unit tests: 2 failures are unimplemented merge, and 1 has been filed as a [bug in HSQL](https://sourceforge.net/tracker/?func=detail&aid=3390047&group_id=23316&atid=378131).
-- added MySQL dialect. untested.
+- added HSQL dialect. HSQL fails 4 out of 50 unit tests.
+ - 2 failures are unimplemented merge
+ - 1 has been filed and accepted as a [bug in HSQL](https://sourceforge.net/tracker/?func=detail&aid=3390047&group_id=23316&atid=378131)
+ - 1 is a concurrency issue, but the test may not be flawed
+- added untested MySQL dialect
- renamed <b>_ iq_versions</b> table to *iq_versions* since leading _ character is troublesome for some databases.
- @IQColumn(allowNull=true) -> @IQColumn(nullable=true)
-- All columns are assumed NULLABLE unless explicitly set *@IQColumn(nullable = false)*
+- All **Object** columns are assumed NULLABLE unless explicitly set *@IQColumn(nullable = false)*
+- All **Primitive** columns are assumed NOT NULLABLE unless explicitly set *@IQColumn(nullable = true)*
- allow using objects to assign default values<br/>
%BEGINCODE%
// CREATE TABLE ... myDate DATETIME DEFAULT '2000-02-01 00:00:00'