public class org.hibernate.dialect.unique.DefaultUniqueDelegate implements org.hibernate.dialect.unique.UniqueDelegate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.dialect.unique.DefaultUniqueDelegate
  super_class: java.lang.Object
{
  protected final org.hibernate.dialect.Dialect dialect;
    descriptor: Lorg/hibernate/dialect/Dialect;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/dialect/Dialect;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
        start local 1 // org.hibernate.dialect.Dialect dialect
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            aload 1 /* dialect */
            putfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
         2: .line 32
            return
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
            0    3     1  dialect  Lorg/hibernate/dialect/Dialect;
    MethodParameters:
         Name  Flags
      dialect  

  public java.lang.String getColumnDefinitionUniquenessFragment(org.hibernate.mapping.Column);
    descriptor: (Lorg/hibernate/mapping/Column;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
        start local 1 // org.hibernate.mapping.Column column
         0: .line 38
            ldc ""
            areturn
        end local 1 // org.hibernate.mapping.Column column
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
            0    1     1  column  Lorg/hibernate/mapping/Column;
    MethodParameters:
        Name  Flags
      column  

  public java.lang.String getTableCreationUniqueConstraintsFragment(org.hibernate.mapping.Table);
    descriptor: (Lorg/hibernate/mapping/Table;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
        start local 1 // org.hibernate.mapping.Table table
         0: .line 43
            ldc ""
            areturn
        end local 1 // org.hibernate.mapping.Table table
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
            0    1     1  table  Lorg/hibernate/mapping/Table;
    MethodParameters:
       Name  Flags
      table  

  public java.lang.String getAlterTableToAddUniqueKeyCommand(org.hibernate.mapping.UniqueKey, org.hibernate.boot.Metadata);
    descriptor: (Lorg/hibernate/mapping/UniqueKey;Lorg/hibernate/boot/Metadata;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
        start local 1 // org.hibernate.mapping.UniqueKey uniqueKey
        start local 2 // org.hibernate.boot.Metadata metadata
         0: .line 48
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.Metadata.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            astore 3 /* jdbcEnvironment */
        start local 3 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         1: .line 50
            aload 3 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter:()Lorg/hibernate/engine/jdbc/env/spi/QualifiedObjectNameFormatter;
         2: .line 51
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getQualifiedTableName:()Lorg/hibernate/boot/model/relational/QualifiedTableName;
         3: .line 52
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
         4: .line 50
            invokeinterface org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter.format:(Lorg/hibernate/boot/model/relational/QualifiedTableName;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            astore 4 /* tableName */
        start local 4 // java.lang.String tableName
         5: .line 55
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.dialect.Dialect.quote:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* constraintName */
        start local 5 // java.lang.String constraintName
         6: .line 56
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            aload 4 /* tableName */
            invokevirtual org.hibernate.dialect.Dialect.getAlterTableString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 57
            ldc " add constraint "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* constraintName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.dialect.unique.DefaultUniqueDelegate.uniqueConstraintSql:(Lorg/hibernate/mapping/UniqueKey;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 56
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.String constraintName
        end local 4 // java.lang.String tableName
        end local 3 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 2 // org.hibernate.boot.Metadata metadata
        end local 1 // org.hibernate.mapping.UniqueKey uniqueKey
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
            0    9     1        uniqueKey  Lorg/hibernate/mapping/UniqueKey;
            0    9     2         metadata  Lorg/hibernate/boot/Metadata;
            1    9     3  jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            5    9     4        tableName  Ljava/lang/String;
            6    9     5   constraintName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uniqueKey  
      metadata   

  protected java.lang.String uniqueConstraintSql(org.hibernate.mapping.UniqueKey);
    descriptor: (Lorg/hibernate/mapping/UniqueKey;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
        start local 1 // org.hibernate.mapping.UniqueKey uniqueKey
         0: .line 61
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 62
            aload 2 /* sb */
            ldc "unique ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 63
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.columnIterator:()Ljava/util/Iterator;
            astore 3 /* columnIterator */
        start local 3 // java.util.Iterator columnIterator
         3: .line 64
            goto 10
         4: .line 65
      StackMap locals: java.lang.StringBuilder java.util.Iterator
      StackMap stack:
            aload 3 /* columnIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 4 /* column */
        start local 4 // org.hibernate.mapping.Column column
         5: .line 66
            aload 2 /* sb */
            aload 4 /* column */
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 67
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.getColumnOrderMap:()Ljava/util/Map;
            aload 4 /* column */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 68
            aload 2 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.getColumnOrderMap:()Ljava/util/Map;
            aload 4 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 70
      StackMap locals: org.hibernate.mapping.Column
      StackMap stack:
            aload 3 /* columnIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 10
         9: .line 71
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.hibernate.mapping.Column column
        10: .line 64
      StackMap locals:
      StackMap stack:
            aload 3 /* columnIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 75
            aload 2 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.util.Iterator columnIterator
        end local 2 // java.lang.StringBuilder sb
        end local 1 // org.hibernate.mapping.UniqueKey uniqueKey
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
            0   12     1       uniqueKey  Lorg/hibernate/mapping/UniqueKey;
            1   12     2              sb  Ljava/lang/StringBuilder;
            3   12     3  columnIterator  Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;
            5   10     4          column  Lorg/hibernate/mapping/Column;
    MethodParameters:
           Name  Flags
      uniqueKey  

  public java.lang.String getAlterTableToDropUniqueKeyCommand(org.hibernate.mapping.UniqueKey, org.hibernate.boot.Metadata);
    descriptor: (Lorg/hibernate/mapping/UniqueKey;Lorg/hibernate/boot/Metadata;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
        start local 1 // org.hibernate.mapping.UniqueKey uniqueKey
        start local 2 // org.hibernate.boot.Metadata metadata
         0: .line 80
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.Metadata.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            astore 3 /* jdbcEnvironment */
        start local 3 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         1: .line 82
            aload 3 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter:()Lorg/hibernate/engine/jdbc/env/spi/QualifiedObjectNameFormatter;
         2: .line 83
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getQualifiedTableName:()Lorg/hibernate/boot/model/relational/QualifiedTableName;
         3: .line 84
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
         4: .line 82
            invokeinterface org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter.format:(Lorg/hibernate/boot/model/relational/QualifiedTableName;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            astore 4 /* tableName */
        start local 4 // java.lang.String tableName
         5: .line 87
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            aload 4 /* tableName */
            invokevirtual org.hibernate.dialect.Dialect.getAlterTableString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 5 /* buf */
        start local 5 // java.lang.StringBuilder buf
         6: .line 88
            aload 5 /* buf */
            aload 0 /* this */
            invokevirtual org.hibernate.dialect.unique.DefaultUniqueDelegate.getDropUnique:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 89
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.supportsIfExistsBeforeConstraintName:()Z
            ifeq 9
         8: .line 90
            aload 5 /* buf */
            ldc "if exists "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 92
      StackMap locals: org.hibernate.engine.jdbc.env.spi.JdbcEnvironment java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 5 /* buf */
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            aload 1 /* uniqueKey */
            invokevirtual org.hibernate.mapping.UniqueKey.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.dialect.Dialect.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 93
            aload 0 /* this */
            getfield org.hibernate.dialect.unique.DefaultUniqueDelegate.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.supportsIfExistsAfterConstraintName:()Z
            ifeq 12
        11: .line 94
            aload 5 /* buf */
            ldc " if exists"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 96
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder buf
        end local 4 // java.lang.String tableName
        end local 3 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 2 // org.hibernate.boot.Metadata metadata
        end local 1 // org.hibernate.mapping.UniqueKey uniqueKey
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
            0   13     1        uniqueKey  Lorg/hibernate/mapping/UniqueKey;
            0   13     2         metadata  Lorg/hibernate/boot/Metadata;
            1   13     3  jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            5   13     4        tableName  Ljava/lang/String;
            6   13     5              buf  Ljava/lang/StringBuilder;
    MethodParameters:
           Name  Flags
      uniqueKey  
      metadata   

  protected java.lang.String getDropUnique();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
         0: .line 100
            ldc " drop constraint "
            areturn
        end local 0 // org.hibernate.dialect.unique.DefaultUniqueDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/dialect/unique/DefaultUniqueDelegate;
}
SourceFile: "DefaultUniqueDelegate.java"