cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Anderson" <sander...@airvana.com>
Subject RE: Upcast problems w/SQLServerMergerFactory and AutoAdapter
Date Thu, 25 Sep 2008 17:00:33 GMT
That method is defined in the DbAdapter interface; you don't need to cast it. See MySQLMergerFactory
(post CAY-1108 patch) for an example.

-----Original Message-----
From: oyvindharboe@gmail.com [mailto:oyvindharboe@gmail.com] On Behalf Of Øyvind Harboe
Sent: Thursday, September 25, 2008 3:55 AM
To: cayenne-user@incubator.apache.org
Subject: Upcast problems w/SQLServerMergerFactory and AutoAdapter

1. I'm getting the exception below in my code:

org.apache.cayenne.dba.sqlserver.SQLServerMergerFactory$4.createSql(SQLServerMergerFactory.java:108)

2. This happens when I execute the code below:

t.createSql(mergerContext.getAdapter());

3. If #2 is legal, then I don't understand how an upcast to DbAdapter
to SQLServerAdapter
can work for AutoAdapter


  @Override
    public MergerToken createSetNotNullToDb(DbEntity entity, final
DbAttribute column) {

        return new SetNotNullToDb(entity, column) {

            @Override
            public List<String> createSql(DbAdapter adapter) {
                StringBuffer sqlBuffer = new StringBuffer();


                sqlBuffer.append("ALTER TABLE ");
                sqlBuffer.append(getEntity().getFullyQualifiedName());
                sqlBuffer.append(" ALTER COLUMN ");

                SQLServerAdapter sqladapter = (SQLServerAdapter) adapter;
                sqladapter.createTableAppendColumn(sqlBuffer, column);

                return Collections.singletonList(sqlBuffer.toString());
            }

        };
    }

-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 XScale Cortex
JTAG debugger and flash programmer

Mime
View raw message