fireruby 0.4.1-mswin32 → 0.4.2-mswin32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. data/doc/README +456 -456
  2. data/doc/license.txt +411 -411
  3. data/examples/example01.rb +65 -65
  4. data/lib/SQLType.rb +223 -227
  5. data/lib/fireruby.rb +22 -22
  6. data/lib/fr_lib.so +0 -0
  7. data/lib/mkdoc +1 -1
  8. data/lib/src.rb +1795 -1795
  9. data/test/AddRemoveUserTest.rb +56 -55
  10. data/test/BackupRestoreTest.rb +99 -99
  11. data/test/BlobTest.rb +57 -0
  12. data/test/CharacterSetTest.rb +63 -63
  13. data/test/ConnectionTest.rb +111 -111
  14. data/test/DDLTest.rb +54 -54
  15. data/test/DatabaseTest.rb +83 -83
  16. data/test/GeneratorTest.rb +50 -50
  17. data/test/KeyTest.rb +140 -140
  18. data/test/ResultSetTest.rb +162 -162
  19. data/test/RoleTest.rb +73 -0
  20. data/test/RowCountTest.rb +65 -65
  21. data/test/RowTest.rb +203 -203
  22. data/test/SQLTest.rb +182 -182
  23. data/test/SQLTypeTest.rb +101 -101
  24. data/test/ServiceManagerTest.rb +29 -29
  25. data/test/StatementTest.rb +135 -135
  26. data/test/TestSetup.rb +11 -11
  27. data/test/TransactionTest.rb +112 -112
  28. data/test/TypeTest.rb +92 -92
  29. data/test/UnitTest.rb +65 -64
  30. metadata +49 -110
  31. data/doc/CVS/Entries +0 -3
  32. data/doc/CVS/Entries.Log +0 -2
  33. data/doc/CVS/Repository +0 -1
  34. data/doc/CVS/Root +0 -1
  35. data/doc/classes/CVS/Entries +0 -1
  36. data/doc/classes/CVS/Entries.Log +0 -1
  37. data/doc/classes/CVS/Repository +0 -1
  38. data/doc/classes/CVS/Root +0 -1
  39. data/doc/classes/FireRuby/CVS/Entries +0 -1
  40. data/doc/classes/FireRuby/CVS/Entries.Log +0 -7
  41. data/doc/classes/FireRuby/CVS/Repository +0 -1
  42. data/doc/classes/FireRuby/CVS/Root +0 -1
  43. data/doc/classes/FireRuby/Connection.src/CVS/Entries +0 -1
  44. data/doc/classes/FireRuby/Connection.src/CVS/Repository +0 -1
  45. data/doc/classes/FireRuby/Connection.src/CVS/Root +0 -1
  46. data/doc/classes/FireRuby/Database.src/CVS/Entries +0 -1
  47. data/doc/classes/FireRuby/Database.src/CVS/Repository +0 -1
  48. data/doc/classes/FireRuby/Database.src/CVS/Root +0 -1
  49. data/doc/classes/FireRuby/FireRubyError.src/CVS/Entries +0 -1
  50. data/doc/classes/FireRuby/FireRubyError.src/CVS/Repository +0 -1
  51. data/doc/classes/FireRuby/FireRubyError.src/CVS/Root +0 -1
  52. data/doc/classes/FireRuby/Generator.src/CVS/Entries +0 -1
  53. data/doc/classes/FireRuby/Generator.src/CVS/Repository +0 -1
  54. data/doc/classes/FireRuby/Generator.src/CVS/Root +0 -1
  55. data/doc/classes/FireRuby/ResultSet.src/CVS/Entries +0 -1
  56. data/doc/classes/FireRuby/ResultSet.src/CVS/Repository +0 -1
  57. data/doc/classes/FireRuby/ResultSet.src/CVS/Root +0 -1
  58. data/doc/classes/FireRuby/Statement.src/CVS/Entries +0 -1
  59. data/doc/classes/FireRuby/Statement.src/CVS/Repository +0 -1
  60. data/doc/classes/FireRuby/Statement.src/CVS/Root +0 -1
  61. data/doc/classes/FireRuby/Transaction.src/CVS/Entries +0 -1
  62. data/doc/classes/FireRuby/Transaction.src/CVS/Repository +0 -1
  63. data/doc/classes/FireRuby/Transaction.src/CVS/Root +0 -1
  64. data/doc/files/CVS/Entries +0 -1
  65. data/doc/files/CVS/Repository +0 -1
  66. data/doc/files/CVS/Root +0 -1
  67. data/examples/CVS/Entries +0 -2
  68. data/examples/CVS/Repository +0 -1
  69. data/examples/CVS/Root +0 -1
  70. data/lib/CVS/Entries +0 -6
  71. data/lib/CVS/Repository +0 -1
  72. data/lib/CVS/Root +0 -1
  73. data/test/CVS/Entries +0 -20
  74. data/test/CVS/Repository +0 -1
  75. data/test/CVS/Root +0 -1
@@ -1,55 +1,56 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'TestSetup'
4
- require 'test/unit'
5
- require 'rubygems'
6
- require 'fireruby'
7
-
8
- include FireRuby
9
-
10
- class AddRemoveUserTest < Test::Unit::TestCase
11
- CURDIR = "#{Dir.getwd}"
12
- DB_FILE = "#{CURDIR}#{File::SEPARATOR}add_remove_user_unit_test.fdb"
13
-
14
- def setup
15
- puts "#{self.class.name} started." if TEST_LOGGING
16
- # Remove existing database files.
17
- @database = Database.new(DB_FILE)
18
- if File.exist?(DB_FILE)
19
- @database.drop(DB_USER_NAME, DB_PASSWORD)
20
- end
21
- Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
22
- end
23
-
24
- def teardown
25
- # Remove existing database files.
26
- if File.exist?(DB_FILE)
27
- @database.drop(DB_USER_NAME, DB_PASSWORD)
28
- end
29
- puts "#{self.class.name} finished." if TEST_LOGGING
30
- end
31
-
32
- def test01
33
- sm = ServiceManager.new('localhost')
34
- sm.connect(DB_USER_NAME, DB_PASSWORD)
35
-
36
- au = AddUser.new('newuser', 'password', 'first', 'middle', 'last')
37
- au.execute(sm)
38
- sleep(3)
39
-
40
- cxn = @database.connect('newuser', 'password')
41
- cxn.close
42
-
43
- ru = RemoveUser.new('newuser')
44
- ru.execute(sm)
45
-
46
- sm.disconnect
47
-
48
- begin
49
- cxn = @database.connect('newuser', 'password')
50
- cxn.close
51
- assert(false, "Able to connect as supposedly removed user.")
52
- rescue FireRubyException
53
- end
54
- end
55
- end
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'TestSetup'
4
+ require 'test/unit'
5
+ require 'rubygems'
6
+ require 'fireruby'
7
+
8
+ include FireRuby
9
+
10
+ class AddRemoveUserTest < Test::Unit::TestCase
11
+ CURDIR = "#{Dir.getwd}"
12
+ DB_FILE = "#{CURDIR}#{File::SEPARATOR}add_remove_user_unit_test.fdb"
13
+
14
+ def setup
15
+ puts "#{self.class.name} started." if TEST_LOGGING
16
+ # Remove existing database files.
17
+ @database = Database.new(DB_FILE)
18
+ if File.exist?(DB_FILE)
19
+ @database.drop(DB_USER_NAME, DB_PASSWORD)
20
+ end
21
+ Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
22
+ end
23
+
24
+ def teardown
25
+ # Remove existing database files.
26
+ if File.exist?(DB_FILE)
27
+ @database.drop(DB_USER_NAME, DB_PASSWORD)
28
+ end
29
+ puts "#{self.class.name} finished." if TEST_LOGGING
30
+ end
31
+
32
+ def test01
33
+ sm = ServiceManager.new('localhost')
34
+ sm.connect(DB_USER_NAME, DB_PASSWORD)
35
+
36
+ au = AddUser.new('newuser', 'password', 'first', 'middle', 'last')
37
+ au.execute(sm)
38
+ sleep(3)
39
+
40
+ cxn = @database.connect('newuser', 'password')
41
+ cxn.close
42
+
43
+ ru = RemoveUser.new('newuser')
44
+ ru.execute(sm)
45
+ sleep(3)
46
+
47
+ sm.disconnect
48
+
49
+ begin
50
+ cxn = @database.connect('newuser', 'password')
51
+ cxn.close
52
+ assert(false, "Able to connect as supposedly removed user.")
53
+ rescue FireRubyException
54
+ end
55
+ end
56
+ end
@@ -1,99 +1,99 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'TestSetup'
4
- require 'test/unit'
5
- require 'rubygems'
6
- require 'fireruby'
7
-
8
- include FireRuby
9
-
10
- class BackupRestoreTest < Test::Unit::TestCase
11
- CURDIR = "#{Dir.getwd}"
12
- DB_FILE = "#{CURDIR}#{File::SEPARATOR}backup_restore_unit_test.fdb"
13
- BACKUP_FILE = "#{CURDIR}#{File::SEPARATOR}database.bak"
14
-
15
- def setup
16
- puts "#{self.class.name} started." if TEST_LOGGING
17
- # Remove existing database files.
18
- if File.exist?(DB_FILE)
19
- db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
20
- end
21
-
22
- if File.exist?(BACKUP_FILE)
23
- File.delete(BACKUP_FILE)
24
- end
25
-
26
- # Create and populate the database files.
27
- @database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
28
- @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
29
- cxn.execute_immediate('create table test(id integer)')
30
- cxn.execute_immediate('insert into test values (1000)')
31
- cxn.execute_immediate('insert into test values (2000)')
32
- cxn.execute_immediate('insert into test values (NULL)')
33
- cxn.execute_immediate('insert into test values (3000)')
34
- cxn.execute_immediate('insert into test values (4000)')
35
- end
36
- end
37
-
38
- def teardown
39
- # Remove existing database files.
40
- if File.exist?(DB_FILE)
41
- db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
42
- end
43
-
44
- if File.exist?(BACKUP_FILE)
45
- File.delete(BACKUP_FILE)
46
- end
47
- puts "#{self.class.name} finished." if TEST_LOGGING
48
- end
49
-
50
- def test01
51
- sm = ServiceManager.new('localhost')
52
- sm.connect(DB_USER_NAME, DB_PASSWORD)
53
-
54
- b = Backup.new(DB_FILE, BACKUP_FILE)
55
- b.execute(sm)
56
-
57
- assert(File.exist?(BACKUP_FILE))
58
- @database.drop(DB_USER_NAME, DB_PASSWORD)
59
- assert(File.exists?(DB_FILE) == false)
60
-
61
- r = Restore.new(BACKUP_FILE, DB_FILE)
62
- r.execute(sm)
63
- sm.disconnect
64
-
65
- assert(File.exist?(DB_FILE))
66
- @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
67
- total = 0
68
- cxn.execute_immediate('select * from test') do |row|
69
- assert([1000, 2000, 3000, 4000, nil].include?(row[0]))
70
- total += 1
71
- end
72
- assert(total == 5)
73
- end
74
- end
75
-
76
- def test02
77
- sm = ServiceManager.new('localhost')
78
- sm.connect(DB_USER_NAME, DB_PASSWORD)
79
-
80
- b = Backup.new(DB_FILE, BACKUP_FILE)
81
- b.metadata_only = true
82
- b.execute(sm)
83
-
84
- assert(File.exist?(BACKUP_FILE))
85
- @database.drop(DB_USER_NAME, DB_PASSWORD)
86
- assert(File.exists?(DB_FILE) == false)
87
-
88
- r = Restore.new(BACKUP_FILE, DB_FILE)
89
- r.execute(sm)
90
- sm.disconnect
91
-
92
- assert(File.exist?(DB_FILE))
93
- @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
94
- cxn.execute_immediate('select count(*) from test') do |row|
95
- assert(row[0] == 0)
96
- end
97
- end
98
- end
99
- end
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'TestSetup'
4
+ require 'test/unit'
5
+ require 'rubygems'
6
+ require 'fireruby'
7
+
8
+ include FireRuby
9
+
10
+ class BackupRestoreTest < Test::Unit::TestCase
11
+ CURDIR = "#{Dir.getwd}"
12
+ DB_FILE = "#{CURDIR}#{File::SEPARATOR}backup_restore_unit_test.fdb"
13
+ BACKUP_FILE = "#{CURDIR}#{File::SEPARATOR}database.bak"
14
+
15
+ def setup
16
+ puts "#{self.class.name} started." if TEST_LOGGING
17
+ # Remove existing database files.
18
+ if File.exist?(DB_FILE)
19
+ db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
20
+ end
21
+
22
+ if File.exist?(BACKUP_FILE)
23
+ File.delete(BACKUP_FILE)
24
+ end
25
+
26
+ # Create and populate the database files.
27
+ @database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
28
+ @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
29
+ cxn.execute_immediate('create table test(id integer)')
30
+ cxn.execute_immediate('insert into test values (1000)')
31
+ cxn.execute_immediate('insert into test values (2000)')
32
+ cxn.execute_immediate('insert into test values (NULL)')
33
+ cxn.execute_immediate('insert into test values (3000)')
34
+ cxn.execute_immediate('insert into test values (4000)')
35
+ end
36
+ end
37
+
38
+ def teardown
39
+ # Remove existing database files.
40
+ if File.exist?(DB_FILE)
41
+ db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
42
+ end
43
+
44
+ if File.exist?(BACKUP_FILE)
45
+ File.delete(BACKUP_FILE)
46
+ end
47
+ puts "#{self.class.name} finished." if TEST_LOGGING
48
+ end
49
+
50
+ def test01
51
+ sm = ServiceManager.new('localhost')
52
+ sm.connect(DB_USER_NAME, DB_PASSWORD)
53
+
54
+ b = Backup.new(DB_FILE, BACKUP_FILE)
55
+ b.execute(sm)
56
+
57
+ assert(File.exist?(BACKUP_FILE))
58
+ @database.drop(DB_USER_NAME, DB_PASSWORD)
59
+ assert(File.exists?(DB_FILE) == false)
60
+
61
+ r = Restore.new(BACKUP_FILE, DB_FILE)
62
+ r.execute(sm)
63
+ sm.disconnect
64
+
65
+ assert(File.exist?(DB_FILE))
66
+ @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
67
+ total = 0
68
+ cxn.execute_immediate('select * from test') do |row|
69
+ assert([1000, 2000, 3000, 4000, nil].include?(row[0]))
70
+ total += 1
71
+ end
72
+ assert(total == 5)
73
+ end
74
+ end
75
+
76
+ def test02
77
+ sm = ServiceManager.new('localhost')
78
+ sm.connect(DB_USER_NAME, DB_PASSWORD)
79
+
80
+ b = Backup.new(DB_FILE, BACKUP_FILE)
81
+ b.metadata_only = true
82
+ b.execute(sm)
83
+
84
+ assert(File.exist?(BACKUP_FILE))
85
+ @database.drop(DB_USER_NAME, DB_PASSWORD)
86
+ assert(File.exists?(DB_FILE) == false)
87
+
88
+ r = Restore.new(BACKUP_FILE, DB_FILE)
89
+ r.execute(sm)
90
+ sm.disconnect
91
+
92
+ assert(File.exist?(DB_FILE))
93
+ @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
94
+ cxn.execute_immediate('select count(*) from test') do |row|
95
+ assert(row[0] == 0)
96
+ end
97
+ end
98
+ end
99
+ end
data/test/BlobTest.rb ADDED
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'TestSetup'
4
+ require 'test/unit'
5
+ require 'rubygems'
6
+ require 'fireruby'
7
+
8
+ include FireRuby
9
+
10
+ class BlobTest < Test::Unit::TestCase
11
+ CURDIR = "#{Dir.getwd}"
12
+ DB_FILE = "#{CURDIR}#{File::SEPARATOR}blob_unit_test.fdb"
13
+ TXT_FILE = "#{CURDIR}#{File::SEPARATOR}data.txt"
14
+ DATA = "aasdfjakhdsfljkashdfslfhaslhasyhfawyufalwuhlhsdlkfhasljlkshflalksjhasjhalsjhdf\nasdflkajshdfjkahsdfjajdfalsdfasdf\nasdfasdfasdkljfhajdfhkjasdfagdsflalkjfgagsdflasdf\nasdfasdfasdf"
15
+
16
+ def setup
17
+ puts "#{self.class.name} started." if TEST_LOGGING
18
+ # Remove existing database files.
19
+ @database = Database.new(DB_FILE)
20
+ if File.exist?(DB_FILE)
21
+ @database.drop(DB_USER_NAME, DB_PASSWORD)
22
+ end
23
+ Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
24
+ end
25
+
26
+ def teardown
27
+ # Remove existing database files.
28
+ if File.exist?(DB_FILE)
29
+ @database.drop(DB_USER_NAME, DB_PASSWORD)
30
+ end
31
+
32
+ puts "#{self.class.name} finished." if TEST_LOGGING
33
+ end
34
+
35
+ def test01
36
+ d = nil
37
+ @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
38
+ cxn.execute_immediate('create table blob_test (data blob sub_type 0)')
39
+ cxn.start_transaction do |tx|
40
+
41
+ s = Statement.new(cxn, tx, 'INSERT INTO BLOB_TEST VALUES(?)', 3)
42
+ s.execute_for([DATA])
43
+
44
+ # Perform a select of the value inserted.
45
+ r = cxn.execute('SELECT * FROM BLOB_TEST', tx)
46
+ d = r.fetch
47
+
48
+ assert_equal(d[0].to_s, DATA)
49
+
50
+ # Clean up.
51
+ s.close
52
+ r.close
53
+ end
54
+ cxn.execute_immediate('DROP TABLE BLOB_TEST')
55
+ end
56
+ end
57
+ end
@@ -1,63 +1,63 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'TestSetup'
4
- require 'test/unit'
5
- require 'rubygems'
6
- require 'fireruby'
7
-
8
- include FireRuby
9
-
10
- class CharacterSetTest < Test::Unit::TestCase
11
- CURDIR = "#{Dir.getwd}"
12
- DB_FILE = "#{CURDIR}#{File::SEPARATOR}cxnarset_unit_test.fdb"
13
- CHAR_SET = 'WIN1251'
14
-
15
- def setup
16
- puts "#{self.class.name} started." if TEST_LOGGING
17
- if File::exist?(DB_FILE)
18
- Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
19
- end
20
-
21
- @database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD, 1024,
22
- CHAR_SET)
23
- end
24
-
25
- def teardown
26
- if File::exist?(DB_FILE)
27
- Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
28
- end
29
- puts "#{self.class.name} finished." if TEST_LOGGING
30
- end
31
-
32
- def test01
33
- db = Database.new(DB_FILE, CHAR_SET)
34
-
35
- assert(db.character_set = CHAR_SET)
36
-
37
- db.character_set = 'ASCII'
38
- assert(db.character_set == 'ASCII')
39
- end
40
-
41
- def test02
42
- text = "�?����"
43
- db = Database.new(DB_FILE, CHAR_SET)
44
-
45
- begin
46
- db.connect("SYSDBA", "masterkey") do |cxn|
47
- cxn.start_transaction do |tr|
48
- cxn.execute("CREATE TABLE SAMPLE_TABLE(SAMPLE_FIELD VARCHAR(100))",tr)
49
- end
50
- cxn.start_transaction do |tr|
51
- cxn.execute("INSERT INTO SAMPLE_TABLE VALUES ('#{win1251_str}')",tr)
52
- cxn.execute("SELECT * FROM SAMPLE_TABLE WHERE SAMPLE_FIELD = "\
53
- "'#{win1251_str}'",tr) do |row|
54
- # here we have an exception:
55
- some_var = row['SAMPLE_FIELD']
56
- end
57
- end
58
- end
59
- rescue => error
60
- assert("Character set unit test failure.", false)
61
- end
62
- end
63
- end
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'TestSetup'
4
+ require 'test/unit'
5
+ require 'rubygems'
6
+ require 'fireruby'
7
+
8
+ include FireRuby
9
+
10
+ class CharacterSetTest < Test::Unit::TestCase
11
+ CURDIR = "#{Dir.getwd}"
12
+ DB_FILE = "#{CURDIR}#{File::SEPARATOR}cxnarset_unit_test.fdb"
13
+ CHAR_SET = 'WIN1251'
14
+
15
+ def setup
16
+ puts "#{self.class.name} started." if TEST_LOGGING
17
+ if File::exist?(DB_FILE)
18
+ Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
19
+ end
20
+
21
+ @database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD, 1024,
22
+ CHAR_SET)
23
+ end
24
+
25
+ def teardown
26
+ if File::exist?(DB_FILE)
27
+ Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
28
+ end
29
+ puts "#{self.class.name} finished." if TEST_LOGGING
30
+ end
31
+
32
+ def test01
33
+ db = Database.new(DB_FILE, CHAR_SET)
34
+
35
+ assert(db.character_set = CHAR_SET)
36
+
37
+ db.character_set = 'ASCII'
38
+ assert(db.character_set == 'ASCII')
39
+ end
40
+
41
+ def test02
42
+ text = "�?����"
43
+ db = Database.new(DB_FILE, CHAR_SET)
44
+
45
+ begin
46
+ db.connect("SYSDBA", "masterkey") do |cxn|
47
+ cxn.start_transaction do |tr|
48
+ cxn.execute("CREATE TABLE SAMPLE_TABLE(SAMPLE_FIELD VARCHAR(100))",tr)
49
+ end
50
+ cxn.start_transaction do |tr|
51
+ cxn.execute("INSERT INTO SAMPLE_TABLE VALUES ('#{win1251_str}')",tr)
52
+ cxn.execute("SELECT * FROM SAMPLE_TABLE WHERE SAMPLE_FIELD = "\
53
+ "'#{win1251_str}'",tr) do |row|
54
+ # here we have an exception:
55
+ some_var = row['SAMPLE_FIELD']
56
+ end
57
+ end
58
+ end
59
+ rescue => error
60
+ assert("Character set unit test failure.", false)
61
+ end
62
+ end
63
+ end