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      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to