Re: EntityModeler - ERPrototypes - Oracle - generated code doesn't handle CLOB column
Re: EntityModeler - ERPrototypes - Oracle - generated code doesn't handle CLOB column
- Subject: Re: EntityModeler - ERPrototypes - Oracle - generated code doesn't handle CLOB column
- From: Mark Ritchie <email@hidden>
- Date: Wed, 17 Feb 2010 17:20:59 -0800
On 17/Feb/2010, at 4:25 PM, Mike Schrag wrote:
> Hmm.... varcharLarge is a weird one. It seems like maybe it should be calling newLargeStringColumn and that migration for Oracle should use a CLOB.
I'm ok with that! That I can make work! ;-)
> It seems weird that Oracle's definition for longText is BLOB and not CLOB, too.
one problem at a time! ;-)
> The relationship between longText and varcharLarge is unclear to me. I always use varcharLarge, but I never noticed that it wasn't calling newLargeStringColumn.
Not sure which version of Oracle you were using however with 10g, that fails! ;-)
And I would vote that for Oracle, longText and varcharLarge are both CLOB.
(You'll notice that I'm completely ignoring the NCLOB questions... I'll leave that for another time! ;-)
I've updated EntityMigration0.java by adding:
+#elseif ($attribute.javaClassName == "String" && $attribute.externalType == "CLOB")
+ ${migrationTableName}.newLargeStringColumn("${attribute.columnName}", ${attribute.sqlGenerationAllowsNull});
and I've updated ERXSQLHelper$OracleSQLHelper by adding:
+ /**
+ * For Oracle, it seems the right thing to do for varcharLarge is to use a CLOB column.
+ * CLOB is limited to 8TB where as VARCHAR is limited to 4000 bytes.
+ */
+ @Override
+ public int varcharLargeJDBCType() {
+ return Types.CLOB;
+ }
And that combination works for me!!
Any other thoughts from folks on this or can I put together the patch?
Thanks!
Mark.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden