Hi Thomas,
I tried your version but got another exception about syntax errors
SQL Error [90043] [90043]: Error creating or initializing trigger
"MY_TRIGGER" object, class "..source..", cause: "org.h2.message.DbException:
Syntax error in SQL statement ""
org.h2.api.Trigger create() {
return new Trig();
}
static class Trig implements org.h2.api.Trigger {
@Override
public void remove() throws SQLException {
}
@Override
public void init(Connection conn, String schemaName, String
triggerName, String tableName, boolean before,
int type) throws SQLException {
}
@Override
public void fire(Connection conn, Object[] oldRow, Object[]
newRow) throws SQLException {
}
@Override
public void close() throws SQLException {
}
}
"" [42000-193]"; see root cause for details; SQL statement:
CREATE TRIGGER MY_TRIGGER BEFORE INSERT ON MY_TABLE AS $$
org.h2.api.Trigger create() {
return new Trig();
}
static class Trig implements org.h2.api.Trigger {
@Override
public void remove() throws SQLException {
}
@Override
public void init(Connection conn, String schemaName, String
triggerName, String tableName, boolean before,
int type) throws SQLException {
}
@Override
public void fire(Connection conn, Object[] oldRow, Object[]
newRow) throws SQLException {
}
@Override
public void close() throws SQLException {
}
}
$$ [90043-193]
Error creating or initializing trigger "MY_TRIGGER" object, class
"..source..", cause: "org.h2.message.DbException: Syntax error in SQL
statement ""
org.h2.api.Trigger create() {
return new Trig();
}
static class Trig implements org.h2.api.Trigger {
@Override
public void remove() throws SQLException {
}
@Override
public void init(Connection conn, String schemaName, String
triggerName, String tableName, boolean before,
int type) throws SQLException {
}
@Override
public void fire(Connection conn, Object[] oldRow, Object[]
newRow) throws SQLException {
}
@Override
public void close() throws SQLException {
}
}
"" [42000-193]"; see root cause for details; SQL statement:
CREATE TRIGGER MY_TRIGGER BEFORE INSERT ON MY_TABLE AS $$
org.h2.api.Trigger create() {
return new Trig();
}
static class Trig implements org.h2.api.Trigger {
@Override
public void remove() throws SQLException {
}
@Override
public void init(Connection conn, String schemaName, String
triggerName, String tableName, boolean before,
int type) throws SQLException {
}
@Override
public void fire(Connection conn, Object[] oldRow, Object[]
newRow) throws SQLException {
}
@Override
public void close() throws SQLException {
}
}
$$ [90043-193]
Syntax error in SQL statement "
org.h2.api.Trigger create() {
return new Trig();
}
static class Trig implements org.h2.api.Trigger {
@Override
public void remove() throws SQLException {
}
@Override
public void init(Connection conn, String schemaName, String
triggerName, String tableName, boolean before,
int type) throws SQLException {
}
@Override
public void fire(Connection conn, Object[] oldRow, Object[]
newRow) throws SQLException {
}
@Override
public void close() throws SQLException {
}
}
" [42000-193]
Syntax error in SQL statement "
org.h2.api.Trigger create() {
return new Trig();
}
static class Trig implements org.h2.api.Trigger {
@Override
public void remove() throws SQLException {
}
@Override
public void init(Connection conn, String schemaName, String
triggerName, String tableName, boolean before,
int type) throws SQLException {
}
@Override
public void fire(Connection conn, Object[] oldRow, Object[]
newRow) throws SQLException {
}
@Override
public void close() throws SQLException {
}
}
" [42000-193]
java.lang.NullPointerException:
Il giorno mercoledì 22 marzo 2017 18:16:04 UTC+1, Thomas Mueller Graf ha
scritto:
>
> Hi,
>
> I'm not sure why, but it looks like inner classes are not supported right
> now. I get:
>
>
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.h2.schema.TriggerObject.loadFromSource(TriggerObject.java:101)
> ... 15 more
> Caused by: java.lang.NoClassDefFoundError:
> org/h2/dynamic/trigger/MY_TRIGGER$Trig (wrong name:
> org/h2/dynamic/trigger/MY_TRIGGER)
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
> at
> org.h2.util.SourceCompiler$ClassFileManager$1.findClass(SourceCompiler.java:520)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>
>
>
> CREATE TRIGGER MY_TRIGGER BEFORE INSERT ON MY_TABLE AS $$
> org.h2.api.Trigger create() {
> return new Trig();
> }
> static class Trig implements org.h2.api.Trigger {
> @Override
> public void remove() throws SQLException {
> }
> @Override
> public void init(Connection conn, String schemaName, String
> triggerName, String tableName, boolean before,
> int type) throws SQLException {
> }
> @Override
> public void fire(Connection conn, Object[] oldRow, Object[]
> newRow) throws SQLException {
> }
> @Override
> public void close() throws SQLException {
> }
> }
> $$;
>
> Regards,
> Thomas
>
> On Wed, Mar 22, 2017 at 12:43 PM, Giulio Vito de Musso <
> [email protected] <javascript:>> wrote:
>
>> Hi Noel, thanks for the reply.
>>
>> This is the full stacktrace of the error
>>
>> SQL Error [90043] [90043]: Error creating or initializing trigger
>> "MY_TRIGGER" object, class "..source..", cause: "org.h2.message.DbException:
>> Syntax error in SQL statement ""
>> org.h2.api.Trigger create() {
>> return new org.h2.api.Trigger() {
>>
>>
>> @Override
>> public void remove() throws SQLException {
>> }
>>
>>
>> @Override
>> public void init(Connection conn, String schemaName, String
>> triggerName, String tableName, boolean before,
>> int type) throws SQLException {
>> }
>>
>>
>> @Override
>> public void fire(Connection conn, Object[] oldRow, Object[]
>> newRow) throws SQLException {
>> }
>>
>>
>> @Override
>> public void close() throws SQLException {
>> }
>> };
>>
>>
>> } "" [42000-193]"; see root cause for details; SQL statement:
>> CREATE TRIGGER MY_TRIGGER BEFORE INSERT ON CURRENT_APPLICATION_PROPERTY
>> AS $$
>> org.h2.api.Trigger create() {
>> return new org.h2.api.Trigger() {
>>
>>
>> @Override
>> public void remove() throws SQLException {
>> }
>>
>>
>> @Override
>> public void init(Connection conn, String schemaName, String
>> triggerName, String tableName, boolean before,
>> int type) throws SQLException {
>> }
>>
>>
>> @Override
>> public void fire(Connection conn, Object[] oldRow, Object[]
>> newRow) throws SQLException {
>> }
>>
>>
>> @Override
>> public void close() throws SQLException {
>> }
>> };
>>
>>
>> } $$ [90043-193]
>> Error creating or initializing trigger "MY_TRIGGER" object, class
>> "..source..", cause: "org.h2.message.DbException: Syntax error in SQL
>> statement ""
>> org.h2.api.Trigger create() {
>> return new org.h2.api.Trigger() {
>>
>>
>> @Override
>> public void remove() throws SQLException {
>> }
>>
>>
>> @Override
>> public void init(Connection conn, String schemaName, String
>> triggerName, String tableName, boolean before,
>> int type) throws SQLException {
>> }
>>
>>
>> @Override
>> public void fire(Connection conn, Object[] oldRow, Object[]
>> newRow) throws SQLException {
>> }
>>
>>
>> @Override
>> public void close() throws SQLException {
>> }
>> };
>>
>>
>> } "" [42000-193]"; see root cause for details; SQL statement:
>> CREATE TRIGGER MY_TRIGGER BEFORE INSERT ON CURRENT_APPLICATION_PROPERTY
>> AS $$
>> org.h2.api.Trigger create() {
>> return new org.h2.api.Trigger() {
>>
>>
>> @Override
>> public void remove() throws SQLException {
>> }
>>
>>
>> @Override
>> public void init(Connection conn, String schemaName, String
>> triggerName, String tableName, boolean before,
>> int type) throws SQLException {
>> }
>>
>>
>> @Override
>> public void fire(Connection conn, Object[] oldRow, Object[]
>> newRow) throws SQLException {
>> }
>>
>>
>> @Override
>> public void close() throws SQLException {
>> }
>> };
>>
>>
>> } $$ [90043-193]
>> Syntax error in SQL statement "
>> org.h2.api.Trigger create() {
>> return new org.h2.api.Trigger() {
>>
>>
>> @Override
>> public void remove() throws SQLException {
>> }
>>
>>
>> @Override
>> public void init(Connection conn, String schemaName, String
>> triggerName, String tableName, boolean before,
>> int type) throws SQLException {
>> }
>>
>>
>> @Override
>> public void fire(Connection conn, Object[] oldRow, Object[]
>> newRow) throws SQLException {
>> }
>>
>>
>> @Override
>> public void close() throws SQLException {
>> }
>> };
>>
>>
>> } " [42000-193]
>> Syntax error in SQL statement "
>> org.h2.api.Trigger create() {
>> return new org.h2.api.Trigger() {
>>
>>
>> @Override
>> public void remove() throws SQLException {
>> }
>>
>>
>> @Override
>> public void init(Connection conn, String schemaName, String
>> triggerName, String tableName, boolean before,
>> int type) throws SQLException {
>> }
>>
>>
>> @Override
>> public void fire(Connection conn, Object[] oldRow, Object[]
>> newRow) throws SQLException {
>> }
>>
>>
>> @Override
>> public void close() throws SQLException {
>> }
>> };
>>
>>
>> } " [42000-193]
>>
>> java.lang.NullPointerException:
>>
>>
>>
>>
>>
>> Il giorno mercoledì 22 marzo 2017 12:13:34 UTC+1, Noel Grandin ha scritto:
>>>
>>> what does the rest of the exception trace look like?
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "H2 Database" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/h2-database.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.