public class io.ebeaninternal.server.core.DatabasePlatformFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.ebeaninternal.server.core.DatabasePlatformFactory
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/ebeaninternal/server/core/DatabasePlatformFactory;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic io.ebeaninternal.server.core.DatabasePlatformFactory.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/core/DatabasePlatformFactory;
public io.ebean.config.dbplatform.DatabasePlatform create(io.ebean.config.DatabaseConfig);
descriptor: (Lio/ebean/config/DatabaseConfig;)Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic io.ebeaninternal.api.DbOffline.getPlatform:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 5
2: getstatic io.ebeaninternal.server.core.DatabasePlatformFactory.logger:Lorg/slf4j/Logger;
ldc "offline platform [{}]"
aload 2
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
aload 2
invokevirtual io.ebeaninternal.server.core.DatabasePlatformFactory.byDatabaseName:(Ljava/lang/String;)Lio/ebean/config/dbplatform/DatabasePlatform;
4: areturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatformName:()Ljava/lang/String;
ifnull 8
6: aload 0
aload 1
invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatformName:()Ljava/lang/String;
invokevirtual io.ebeaninternal.server.core.DatabasePlatformFactory.byDatabaseName:(Ljava/lang/String;)Lio/ebean/config/dbplatform/DatabasePlatform;
7: areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.ebean.config.DatabaseConfig.getDataSourceConfig:()Lio/ebean/datasource/DataSourceConfig;
invokevirtual io.ebean.datasource.DataSourceConfig.isOffline:()Z
ifeq 10
9: new javax.persistence.PersistenceException
dup
ldc "You must specify a DatabasePlatformName when you are offline"
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.ebean.config.DatabaseConfig.getDataSource:()Ljavax/sql/DataSource;
invokevirtual io.ebeaninternal.server.core.DatabasePlatformFactory.byDataSource:(Ljavax/sql/DataSource;)Lio/ebean/config/dbplatform/DatabasePlatform;
11: areturn
end local 2 12: StackMap locals: io.ebeaninternal.server.core.DatabasePlatformFactory io.ebean.config.DatabaseConfig
StackMap stack: java.lang.Exception
astore 2
start local 2 13: new javax.persistence.PersistenceException
dup
aload 2
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/ebeaninternal/server/core/DatabasePlatformFactory;
0 14 1 config Lio/ebean/config/DatabaseConfig;
1 12 2 offlinePlatform Ljava/lang/String;
13 14 2 ex Ljava/lang/Exception;
Exception table:
from to target type
0 4 12 Class java.lang.Exception
5 7 12 Class java.lang.Exception
8 11 12 Class java.lang.Exception
MethodParameters:
Name Flags
config
private io.ebean.config.dbplatform.DatabasePlatform byDatabaseName(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
1: aload 1
ldc "h2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: new io.ebean.config.dbplatform.h2.H2Platform
dup
invokespecial io.ebean.config.dbplatform.h2.H2Platform.<init>:()V
areturn
3: StackMap locals:
StackMap stack:
aload 1
ldc "mariadb"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new io.ebean.config.dbplatform.mariadb.MariaDbPlatform
dup
invokespecial io.ebean.config.dbplatform.mariadb.MariaDbPlatform.<init>:()V
areturn
5: StackMap locals:
StackMap stack:
aload 1
ldc "mysql"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new io.ebean.config.dbplatform.mysql.MySqlPlatform
dup
invokespecial io.ebean.config.dbplatform.mysql.MySqlPlatform.<init>:()V
areturn
7: StackMap locals:
StackMap stack:
aload 1
ldc "mysql55"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: new io.ebean.config.dbplatform.mysql.MySql55Platform
dup
invokespecial io.ebean.config.dbplatform.mysql.MySql55Platform.<init>:()V
areturn
9: StackMap locals:
StackMap stack:
aload 1
ldc "postgres"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
aload 1
ldc "postgres9"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals:
StackMap stack:
new io.ebean.config.dbplatform.postgres.PostgresPlatform
dup
invokespecial io.ebean.config.dbplatform.postgres.PostgresPlatform.<init>:()V
areturn
11: StackMap locals:
StackMap stack:
aload 1
ldc "oracle11"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 1
ldc "oracle10"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
aload 1
ldc "oracle9"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: StackMap locals:
StackMap stack:
new io.ebean.config.dbplatform.oracle.Oracle11Platform
dup
invokespecial io.ebean.config.dbplatform.oracle.Oracle11Platform.<init>:()V
areturn
13: StackMap locals:
StackMap stack:
aload 1
ldc "oracle"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: new io.ebean.config.dbplatform.oracle.OraclePlatform
dup
invokespecial io.ebean.config.dbplatform.oracle.OraclePlatform.<init>:()V
areturn
15: StackMap locals:
StackMap stack:
aload 1
ldc "sqlserver16"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: new io.ebean.config.dbplatform.sqlserver.SqlServer16Platform
dup
invokespecial io.ebean.config.dbplatform.sqlserver.SqlServer16Platform.<init>:()V
areturn
17: StackMap locals:
StackMap stack:
aload 1
ldc "sqlserver17"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: new io.ebean.config.dbplatform.sqlserver.SqlServer17Platform
dup
invokespecial io.ebean.config.dbplatform.sqlserver.SqlServer17Platform.<init>:()V
areturn
19: StackMap locals:
StackMap stack:
aload 1
ldc "sqlserver"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: new java.lang.IllegalArgumentException
dup
ldc "Please choose the more specific sqlserver16 or sqlserver17 platform. Refer to issue #1340 for details"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 1
ldc "sqlanywhere"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
22: new io.ebean.config.dbplatform.sqlanywhere.SqlAnywherePlatform
dup
invokespecial io.ebean.config.dbplatform.sqlanywhere.SqlAnywherePlatform.<init>:()V
areturn
23: StackMap locals:
StackMap stack:
aload 1
ldc "db2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: new io.ebean.config.dbplatform.db2.DB2Platform
dup
invokespecial io.ebean.config.dbplatform.db2.DB2Platform.<init>:()V
areturn
25: StackMap locals:
StackMap stack:
aload 1
ldc "clickhouse"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
26: new io.ebean.config.dbplatform.clickhouse.ClickHousePlatform
dup
invokespecial io.ebean.config.dbplatform.clickhouse.ClickHousePlatform.<init>:()V
areturn
27: StackMap locals:
StackMap stack:
aload 1
ldc "nuodb"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
28: new io.ebean.config.dbplatform.nuodb.NuoDbPlatform
dup
invokespecial io.ebean.config.dbplatform.nuodb.NuoDbPlatform.<init>:()V
areturn
29: StackMap locals:
StackMap stack:
aload 1
ldc "sqlite"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
30: new io.ebean.config.dbplatform.sqlite.SQLitePlatform
dup
invokespecial io.ebean.config.dbplatform.sqlite.SQLitePlatform.<init>:()V
areturn
31: StackMap locals:
StackMap stack:
aload 1
ldc "hana"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
32: new io.ebean.config.dbplatform.hana.HanaPlatform
dup
invokespecial io.ebean.config.dbplatform.hana.HanaPlatform.<init>:()V
areturn
33: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "database platform "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not known?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lio/ebeaninternal/server/core/DatabasePlatformFactory;
0 34 1 dbName Ljava/lang/String;
MethodParameters:
Name Flags
dbName
private io.ebean.config.dbplatform.DatabasePlatform byDataSource(javax.sql.DataSource);
descriptor: (Ljavax/sql/DataSource;)Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
astore 2
2: aload 2
invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
astore 3
start local 3 3: aload 0
aload 3
aload 2
invokevirtual io.ebeaninternal.server.core.DatabasePlatformFactory.byDatabaseMeta:(Ljava/sql/DatabaseMetaData;Ljava/sql/Connection;)Lio/ebean/config/dbplatform/DatabasePlatform;
astore 5
4: aload 2
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Connection;)V
5: aload 5
areturn
end local 3 6: StackMap locals: io.ebeaninternal.server.core.DatabasePlatformFactory javax.sql.DataSource java.sql.Connection
StackMap stack: java.sql.SQLException
astore 3
start local 3 7: new javax.persistence.PersistenceException
dup
aload 3
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
9: aload 2
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Connection;)V
10: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/ebeaninternal/server/core/DatabasePlatformFactory;
0 11 1 dataSource Ljavax/sql/DataSource;
1 11 2 connection Ljava/sql/Connection;
3 6 3 metaData Ljava/sql/DatabaseMetaData;
7 8 3 ex Ljava/sql/SQLException;
Exception table:
from to target type
1 4 6 Class java.sql.SQLException
1 4 8 any
6 8 8 any
MethodParameters:
Name Flags
dataSource
private io.ebean.config.dbplatform.DatabasePlatform byDatabaseMeta(java.sql.DatabaseMetaData, java.sql.Connection);
descriptor: (Ljava/sql/DatabaseMetaData;Ljava/sql/Connection;)Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.sql.DatabaseMetaData.getDatabaseProductName:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 3
start local 3 1: aload 1
invokeinterface java.sql.DatabaseMetaData.getDatabaseMajorVersion:()I
istore 4
start local 4 2: aload 1
invokeinterface java.sql.DatabaseMetaData.getDatabaseMinorVersion:()I
istore 5
start local 5 3: aload 3
ldc "oracle"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 5
4: new io.ebean.config.dbplatform.oracle.OraclePlatform
dup
invokespecial io.ebean.config.dbplatform.oracle.OraclePlatform.<init>:()V
areturn
5: StackMap locals: java.lang.String int int
StackMap stack:
aload 3
ldc "microsoft"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
6: new java.lang.IllegalArgumentException
dup
ldc "For SqlServer please explicitly choose either sqlserver16 or sqlserver17 as the platform via DatabaseConfig.setDatabasePlatformName. Refer to issue #1340 for more details"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 3
ldc "h2"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 9
8: new io.ebean.config.dbplatform.h2.H2Platform
dup
invokespecial io.ebean.config.dbplatform.h2.H2Platform.<init>:()V
areturn
9: StackMap locals:
StackMap stack:
aload 3
ldc "hsql database engine"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 11
10: new io.ebean.config.dbplatform.hsqldb.HsqldbPlatform
dup
invokespecial io.ebean.config.dbplatform.hsqldb.HsqldbPlatform.<init>:()V
areturn
11: StackMap locals:
StackMap stack:
aload 3
ldc "postgres"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 13
12: aload 2
iload 4
invokestatic io.ebeaninternal.server.core.DatabasePlatformFactory.readPostgres:(Ljava/sql/Connection;I)Lio/ebean/config/dbplatform/DatabasePlatform;
areturn
13: StackMap locals:
StackMap stack:
aload 3
ldc "mariadb"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 15
14: new io.ebean.config.dbplatform.mariadb.MariaDbPlatform
dup
invokespecial io.ebean.config.dbplatform.mariadb.MariaDbPlatform.<init>:()V
areturn
15: StackMap locals:
StackMap stack:
aload 3
ldc "mysql"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 17
16: aload 0
iload 4
iload 5
invokevirtual io.ebeaninternal.server.core.DatabasePlatformFactory.mysqlVersion:(II)Lio/ebean/config/dbplatform/DatabasePlatform;
areturn
17: StackMap locals:
StackMap stack:
aload 3
ldc "nuo"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 19
18: new io.ebean.config.dbplatform.nuodb.NuoDbPlatform
dup
invokespecial io.ebean.config.dbplatform.nuodb.NuoDbPlatform.<init>:()V
areturn
19: StackMap locals:
StackMap stack:
aload 3
ldc "sqlite"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 21
20: new io.ebean.config.dbplatform.sqlite.SQLitePlatform
dup
invokespecial io.ebean.config.dbplatform.sqlite.SQLitePlatform.<init>:()V
areturn
21: StackMap locals:
StackMap stack:
aload 3
ldc "db2"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 23
22: new io.ebean.config.dbplatform.db2.DB2Platform
dup
invokespecial io.ebean.config.dbplatform.db2.DB2Platform.<init>:()V
areturn
23: StackMap locals:
StackMap stack:
aload 3
ldc "sql anywhere"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 25
24: new io.ebean.config.dbplatform.sqlanywhere.SqlAnywherePlatform
dup
invokespecial io.ebean.config.dbplatform.sqlanywhere.SqlAnywherePlatform.<init>:()V
areturn
25: StackMap locals:
StackMap stack:
aload 3
ldc "hdb"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 27
26: new io.ebean.config.dbplatform.hana.HanaPlatform
dup
invokespecial io.ebean.config.dbplatform.hana.HanaPlatform.<init>:()V
areturn
27: StackMap locals:
StackMap stack:
aload 3
ldc "clickhouse"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 29
28: new io.ebean.config.dbplatform.clickhouse.ClickHousePlatform
dup
invokespecial io.ebean.config.dbplatform.clickhouse.ClickHousePlatform.<init>:()V
areturn
29: StackMap locals:
StackMap stack:
new io.ebean.config.dbplatform.DatabasePlatform
dup
invokespecial io.ebean.config.dbplatform.DatabasePlatform.<init>:()V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lio/ebeaninternal/server/core/DatabasePlatformFactory;
0 30 1 metaData Ljava/sql/DatabaseMetaData;
0 30 2 connection Ljava/sql/Connection;
1 30 3 dbProductName Ljava/lang/String;
2 30 4 majorVersion I
3 30 5 minorVersion I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
metaData
connection
private io.ebean.config.dbplatform.DatabasePlatform mysqlVersion(int, int);
descriptor: (II)Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iconst_5
if_icmpgt 2
iload 2
iconst_5
if_icmpgt 2
1: new io.ebean.config.dbplatform.mysql.MySql55Platform
dup
invokespecial io.ebean.config.dbplatform.mysql.MySql55Platform.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
new io.ebean.config.dbplatform.mysql.MySqlPlatform
dup
invokespecial io.ebean.config.dbplatform.mysql.MySqlPlatform.<init>:()V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/core/DatabasePlatformFactory;
0 3 1 majorVersion I
0 3 2 minorVersion I
MethodParameters:
Name Flags
majorVersion
minorVersion
private static io.ebean.config.dbplatform.DatabasePlatform readPostgres(java.sql.Connection, int);
descriptor: (Ljava/sql/Connection;I)Lio/ebean/config/dbplatform/DatabasePlatform;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
ldc "select version() as \"version\""
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: aload 4
invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
astore 7
start local 7 4: aload 7
invokeinterface java.sql.ResultSet.next:()Z
ifeq 11
5: aload 7
ldc "version"
invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 8
start local 8 6: aload 8
ldc "cockroach"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 11
7: new io.ebean.config.dbplatform.cockroach.CockroachPlatform
dup
invokespecial io.ebean.config.dbplatform.cockroach.CockroachPlatform.<init>:()V
8: aload 7
ifnull 9
aload 7
invokeinterface java.sql.ResultSet.close:()V
9: StackMap locals: java.sql.Connection int java.lang.Throwable java.lang.Throwable java.sql.PreparedStatement java.lang.Throwable java.lang.Throwable java.sql.ResultSet java.lang.String
StackMap stack: io.ebean.config.dbplatform.cockroach.CockroachPlatform
aload 4
ifnull 10
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
10: StackMap locals:
StackMap stack: io.ebean.config.dbplatform.cockroach.CockroachPlatform
areturn
end local 8 11: StackMap locals:
StackMap stack:
aload 7
ifnull 17
aload 7
invokeinterface java.sql.ResultSet.close:()V
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 5
aload 7
ifnull 13
aload 7
invokeinterface java.sql.ResultSet.close:()V
end local 7 StackMap locals:
StackMap stack:
13: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 6
aload 5
ifnonnull 15
aload 6
astore 5
goto 16
StackMap locals:
StackMap stack:
15: aload 5
aload 6
if_acmpeq 16
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 5
athrow
17: StackMap locals:
StackMap stack:
aload 4
ifnull 25
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 2
aload 4
ifnull 19
aload 4
invokeinterface java.sql.PreparedStatement.close:()V
end local 4 StackMap locals:
StackMap stack:
19: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 3
aload 2
ifnonnull 21
aload 3
astore 2
goto 22
StackMap locals:
StackMap stack:
21: aload 2
aload 3
if_acmpeq 22
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 2
athrow
StackMap locals: java.sql.Connection int
StackMap stack: java.sql.SQLException
23: astore 2
start local 2 24: getstatic io.ebeaninternal.server.core.DatabasePlatformFactory.logger:Lorg/slf4j/Logger;
ldc "Error running detection query on Postgres"
aload 2
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 25: StackMap locals:
StackMap stack:
iload 1
bipush 9
if_icmpgt 27
26: new io.ebean.config.dbplatform.postgres.Postgres9Platform
dup
invokespecial io.ebean.config.dbplatform.postgres.Postgres9Platform.<init>:()V
areturn
27: StackMap locals:
StackMap stack:
new io.ebean.config.dbplatform.postgres.PostgresPlatform
dup
invokespecial io.ebean.config.dbplatform.postgres.PostgresPlatform.<init>:()V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 connection Ljava/sql/Connection;
0 28 1 majorVersion I
2 19 4 statement Ljava/sql/PreparedStatement;
4 13 7 resultSet Ljava/sql/ResultSet;
6 11 8 productVersion Ljava/lang/String;
24 25 2 e Ljava/sql/SQLException;
Exception table:
from to target type
4 8 12 any
3 9 14 any
11 14 14 any
2 9 18 any
11 17 18 any
1 10 20 any
11 20 20 any
0 10 23 Class java.sql.SQLException
11 23 23 Class java.sql.SQLException
MethodParameters:
Name Flags
connection
majorVersion
}
SourceFile: "DatabasePlatformFactory.java"