Sha256: befc1c9b56b2ea2ddc67a5dc7a11f2b0713adb2d03742b511c0e2f345ae2bd0d

Contents?: true

Size: 1.73 KB

Versions: 3

Compression:

Stored size: 1.73 KB

Contents

#!/usr/bin/env ruby

require './TestSetup'
require 'test/unit'
require 'rubygems'
require 'rubyfb'

include Rubyfb

class DDLTest < Test::Unit::TestCase
   CURDIR  = "#{Dir.getwd}"
   DB_FILE = "#{CURDIR}#{File::SEPARATOR}ddl_unit_test.fdb"
   
   def setup
      puts "#{self.class.name} started." if TEST_LOGGING
      if File::exist?(DB_FILE)
         Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
      end
      @database = Database::create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
   end
   
   def teardown
      if File::exist?(DB_FILE)
         Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
      end
      puts "#{self.class.name} finished." if TEST_LOGGING
   end
   
   def test01
      @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
         cxn.execute_immediate('CREATE TABLE DDL_TABLE_01 (TABLEID '\
                               'INTEGER NOT NULL, '\
                               'FIELD01 FLOAT, FIELD02 CHAR(50), '\
                               'FIELD03 BIGINT, FIELD04 TIMESTAMP '\
                               'NOT NULL, FIELD05 VARCHAR(600))')

         cxn.start_transaction do |tx|
            r = tx.execute('SELECT COUNT(*) FROM DDL_TABLE_01')
            assert(r.fetch[0] == 0)
            r.close
         end
         
         cxn.execute_immediate('ALTER TABLE DDL_TABLE_01 ADD PRIMARY KEY '\
                               '(TABLEID)')
                            
         cxn.execute_immediate('CREATE UNIQUE INDEX DDL_TABLE_IDX ON '\
                            'DDL_TABLE_01 (TABLEID)')
                            
         cxn.execute_immediate('DROP INDEX DDL_TABLE_IDX')
      
         cxn.execute_immediate('DROP TABLE DDL_TABLE_01')
      end
   end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rubyfb-0.5.7 test/DDLTest.rb
rubyfb-0.5.6 test/DDLTest.rb
rubyfb-0.5.5 test/DDLTest.rb