# File vapor/repositorymgr.rb, line 30
    def init_repository

      # make sure that the database is clean (== empty)
      result = @dbh.execute( "SELECT  relname FROM pg_class WHERE relname !~ '^pg_'")
      if result.fetch then
        raise BackendInconsistentError, "repository database is not empty prior to initialization"
      end

      # now let's start creating
      classmetadata = [ ['_oid', 'BIGINT PRIMARY KEY'],
                        ['_name', 'VARCHAR(255)'],
                        ['_superclass', 'VARCHAR(255)'],
                        ['_table', 'VARCHAR(64)']
                      ] 
      create_table( ":Vapor::ClassMetaData", classmetadata )

      attributemetadata = [ ['_oid', 'BIGINT'],
                            ['_name', 'VARCHAR(255)'],
                            ['_type', 'VARCHAR(16)'],
                            ['_array', 'BOOLEAN']
                          ] 
      create_table( ":Vapor::AttributeMetaData", attributemetadata )

      objectlist = [ ['_oid', 'BIGINT PRIMARY KEY'],
                     ['_class', 'VARCHAR(64)']
                   ] 
      create_table( ":Vapor::ObjectList", objectlist )

      repositoryinfo = [ ['name', 'TEXT'],
                         ['value', 'TEXT']
                       ]
      create_table( ":Vapor::RepositoryInfo", repositoryinfo )
      @dbh.execute( %!INSERT INTO ":Vapor::RepositoryInfo" (name, value) VALUES ('created', '#{Time.now.to_s}' )! )
      @dbh.execute( %!INSERT INTO ":Vapor::RepositoryInfo" (name, value) VALUES ('last-modified', '#{Time.now.to_s}' )! )
      @dbh.execute( %!INSERT INTO ":Vapor::RepositoryInfo" (name, value) VALUES ('schema-version', #{SchemaVersion} )! )

      @dbh.execute( 'CREATE SEQUENCE ":Vapor::oid_high" MAXVALUE 281474976710655' )
    
      # remember Repository initialized
      @repository_ok = true
      
      # insert metadata about TransactionLog
      tlog = ClassMetaData.new( Vapor::TransactionLog.name, "", ":" + Vapor::TransactionLog.name )
      tlog.attributes.concat( Vapor::TransactionLog.metadata )
      addclass( tlog )


    end