activerecord-odbc-adapter 2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/AUTHORS +16 -0
  2. data/COPYING +21 -0
  3. data/ChangeLog +139 -0
  4. data/LICENSE +5 -0
  5. data/NEWS +25 -0
  6. data/README +229 -0
  7. data/lib/active_record/connection_adapters/odbc_adapter.rb +1950 -0
  8. data/lib/active_record/vendor/odbcext_db2.rb +87 -0
  9. data/lib/active_record/vendor/odbcext_informix.rb +144 -0
  10. data/lib/active_record/vendor/odbcext_informix_col.rb +45 -0
  11. data/lib/active_record/vendor/odbcext_ingres.rb +156 -0
  12. data/lib/active_record/vendor/odbcext_microsoftsqlserver.rb +216 -0
  13. data/lib/active_record/vendor/odbcext_microsoftsqlserver_col.rb +40 -0
  14. data/lib/active_record/vendor/odbcext_mysql.rb +174 -0
  15. data/lib/active_record/vendor/odbcext_oracle.rb +219 -0
  16. data/lib/active_record/vendor/odbcext_postgresql.rb +158 -0
  17. data/lib/active_record/vendor/odbcext_progress.rb +139 -0
  18. data/lib/active_record/vendor/odbcext_progress89.rb +259 -0
  19. data/lib/active_record/vendor/odbcext_sqlanywhere.rb +115 -0
  20. data/lib/active_record/vendor/odbcext_sqlanywhere_col.rb +49 -0
  21. data/lib/active_record/vendor/odbcext_sybase.rb +213 -0
  22. data/lib/active_record/vendor/odbcext_sybase_col.rb +49 -0
  23. data/lib/active_record/vendor/odbcext_virtuoso.rb +158 -0
  24. data/lib/odbc_adapter.rb +28 -0
  25. data/support/lib/active_record/connection_adapters/abstract/schema_definitions.rb +259 -0
  26. data/support/odbc_rails.diff +367 -0
  27. data/support/pack_odbc.rb +119 -0
  28. data/support/rake/rails_plugin_package_task.rb +212 -0
  29. data/support/rake_fixes/README +6 -0
  30. data/support/rake_fixes/databases.dif +13 -0
  31. data/support/test/base_test.rb +1765 -0
  32. data/support/test/migration_test.rb +1007 -0
  33. data/test/connections/native_odbc/connection.rb +137 -0
  34. data/test/fixtures/db_definitions/db2.drop.sql +33 -0
  35. data/test/fixtures/db_definitions/db2.sql +237 -0
  36. data/test/fixtures/db_definitions/db22.drop.sql +2 -0
  37. data/test/fixtures/db_definitions/db22.sql +5 -0
  38. data/test/fixtures/db_definitions/informix.drop.sql +33 -0
  39. data/test/fixtures/db_definitions/informix.sql +223 -0
  40. data/test/fixtures/db_definitions/informix2.drop.sql +2 -0
  41. data/test/fixtures/db_definitions/informix2.sql +5 -0
  42. data/test/fixtures/db_definitions/ingres.drop.sql +68 -0
  43. data/test/fixtures/db_definitions/ingres.sql +252 -0
  44. data/test/fixtures/db_definitions/ingres2.drop.sql +2 -0
  45. data/test/fixtures/db_definitions/ingres2.sql +5 -0
  46. data/test/fixtures/db_definitions/mysql.drop.sql +33 -0
  47. data/test/fixtures/db_definitions/mysql.sql +238 -0
  48. data/test/fixtures/db_definitions/mysql2.drop.sql +2 -0
  49. data/test/fixtures/db_definitions/mysql2.sql +5 -0
  50. data/test/fixtures/db_definitions/oracle_odbc.drop.sql +72 -0
  51. data/test/fixtures/db_definitions/oracle_odbc.sql +296 -0
  52. data/test/fixtures/db_definitions/oracle_odbc2.drop.sql +2 -0
  53. data/test/fixtures/db_definitions/oracle_odbc2.sql +6 -0
  54. data/test/fixtures/db_definitions/postgresql.drop.sql +38 -0
  55. data/test/fixtures/db_definitions/postgresql.sql +267 -0
  56. data/test/fixtures/db_definitions/postgresql2.drop.sql +2 -0
  57. data/test/fixtures/db_definitions/postgresql2.sql +5 -0
  58. data/test/fixtures/db_definitions/progress.drop.sql +67 -0
  59. data/test/fixtures/db_definitions/progress.sql +255 -0
  60. data/test/fixtures/db_definitions/progress2.drop.sql +2 -0
  61. data/test/fixtures/db_definitions/progress2.sql +6 -0
  62. data/test/fixtures/db_definitions/sqlserver.drop.sql +35 -0
  63. data/test/fixtures/db_definitions/sqlserver.sql +247 -0
  64. data/test/fixtures/db_definitions/sqlserver2.drop.sql +2 -0
  65. data/test/fixtures/db_definitions/sqlserver2.sql +5 -0
  66. data/test/fixtures/db_definitions/sybase.drop.sql +35 -0
  67. data/test/fixtures/db_definitions/sybase.sql +222 -0
  68. data/test/fixtures/db_definitions/sybase2.drop.sql +4 -0
  69. data/test/fixtures/db_definitions/sybase2.sql +5 -0
  70. data/test/fixtures/db_definitions/virtuoso.drop.sql +33 -0
  71. data/test/fixtures/db_definitions/virtuoso.sql +218 -0
  72. data/test/fixtures/db_definitions/virtuoso2.drop.sql +2 -0
  73. data/test/fixtures/db_definitions/virtuoso2.sql +5 -0
  74. metadata +166 -0
@@ -0,0 +1,2 @@
1
+ drop table courses;
2
+ drop sequence courses_seq;
@@ -0,0 +1,6 @@
1
+ create table courses (
2
+ id number(10) not null primary key,
3
+ name varchar(255) not null
4
+ );
5
+
6
+ create sequence courses_seq minvalue 10000;
@@ -0,0 +1,38 @@
1
+ DROP TABLE accounts;
2
+ DROP SEQUENCE accounts_id_seq;
3
+ DROP TABLE funny_jokes;
4
+ DROP TABLE companies;
5
+ DROP SEQUENCE companies_nonstd_seq;
6
+ DROP TABLE topics;
7
+ DROP TABLE developers;
8
+ DROP TABLE projects;
9
+ DROP TABLE developers_projects;
10
+ DROP TABLE customers;
11
+ DROP TABLE orders;
12
+ DROP TABLE movies;
13
+ DROP TABLE subscribers;
14
+ DROP TABLE booleantests;
15
+ DROP TABLE auto_id_tests;
16
+ DROP TABLE entrants;
17
+ DROP TABLE colnametests;
18
+ DROP TABLE mixins;
19
+ DROP TABLE people;
20
+ DROP TABLE readers;
21
+ DROP TABLE binaries;
22
+ DROP TABLE computers;
23
+ DROP TABLE posts;
24
+ DROP TABLE comments;
25
+ DROP TABLE authors;
26
+ DROP TABLE tasks;
27
+ DROP TABLE categories;
28
+ DROP TABLE categories_posts;
29
+ DROP TABLE defaults;
30
+ DROP TABLE fk_test_has_fk;
31
+ DROP TABLE fk_test_has_pk;
32
+ DROP TABLE geometrics;
33
+ DROP TABLE keyboards;
34
+ DROP TABLE legacy_things;
35
+ DROP TABLE numeric_data;
36
+ DROP TABLE mixed_case_monkeys;
37
+ DROP TABLE minimalistics;
38
+ DROP TABLE column_data;
@@ -0,0 +1,267 @@
1
+ CREATE SEQUENCE public.accounts_id_seq START 100;
2
+
3
+ CREATE TABLE accounts (
4
+ id integer DEFAULT nextval('public.accounts_id_seq'),
5
+ firm_id integer,
6
+ credit_limit integer,
7
+ PRIMARY KEY (id)
8
+ );
9
+
10
+ CREATE TABLE funny_jokes (
11
+ id serial,
12
+ name character varying(50)
13
+ );
14
+
15
+ CREATE SEQUENCE companies_nonstd_seq START 101;
16
+
17
+ CREATE TABLE companies (
18
+ id integer DEFAULT nextval('companies_nonstd_seq'),
19
+ "type" character varying(50),
20
+ "ruby_type" character varying(50),
21
+ firm_id integer,
22
+ name character varying(50),
23
+ client_of integer,
24
+ rating integer default 1,
25
+ PRIMARY KEY (id)
26
+ );
27
+
28
+ CREATE TABLE developers_projects (
29
+ developer_id integer NOT NULL,
30
+ project_id integer NOT NULL,
31
+ joined_on date,
32
+ access_level integer default 1
33
+ );
34
+
35
+ CREATE TABLE developers (
36
+ id serial,
37
+ name character varying(100),
38
+ salary integer DEFAULT 70000,
39
+ created_at timestamp,
40
+ updated_at timestamp,
41
+ PRIMARY KEY (id)
42
+ );
43
+ SELECT setval('developers_id_seq', 100);
44
+
45
+ CREATE TABLE projects (
46
+ id serial,
47
+ name character varying(100),
48
+ type varchar(255),
49
+ PRIMARY KEY (id)
50
+ );
51
+ SELECT setval('projects_id_seq', 100);
52
+
53
+ CREATE TABLE topics (
54
+ id serial,
55
+ title character varying(255),
56
+ author_name character varying(255),
57
+ author_email_address character varying(255),
58
+ written_on timestamp without time zone,
59
+ bonus_time time,
60
+ last_read date,
61
+ content text,
62
+ approved boolean default true,
63
+ replies_count integer default 0,
64
+ parent_id integer,
65
+ "type" character varying(50),
66
+ PRIMARY KEY (id)
67
+ );
68
+ SELECT setval('topics_id_seq', 100);
69
+
70
+ CREATE TABLE customers (
71
+ id serial,
72
+ name character varying,
73
+ balance integer default 0,
74
+ address_street character varying,
75
+ address_city character varying,
76
+ address_country character varying,
77
+ gps_location character varying,
78
+ PRIMARY KEY (id)
79
+ );
80
+ SELECT setval('customers_id_seq', 100);
81
+
82
+ CREATE TABLE orders (
83
+ id serial,
84
+ name character varying,
85
+ billing_customer_id integer,
86
+ shipping_customer_id integer,
87
+ PRIMARY KEY (id)
88
+ );
89
+ SELECT setval('orders_id_seq', 100);
90
+
91
+ CREATE TABLE movies (
92
+ movieid serial,
93
+ name text,
94
+ PRIMARY KEY (movieid)
95
+ );
96
+
97
+ CREATE TABLE subscribers (
98
+ nick text NOT NULL,
99
+ name text,
100
+ PRIMARY KEY (nick)
101
+ );
102
+
103
+ CREATE TABLE booleantests (
104
+ id serial,
105
+ value boolean,
106
+ PRIMARY KEY (id)
107
+ );
108
+
109
+ CREATE TABLE defaults (
110
+ id serial,
111
+ modified_date date default CURRENT_DATE,
112
+ modified_date_function date default now(),
113
+ fixed_date date default '2004-01-01',
114
+ modified_time timestamp default CURRENT_TIMESTAMP,
115
+ modified_time_function timestamp default now(),
116
+ fixed_time timestamp default '2004-01-01 00:00:00.000000-00',
117
+ char1 char(1) default 'Y',
118
+ char2 character varying(50) default 'a varchar field',
119
+ char3 text default 'a text field',
120
+ positive_integer integer default 1,
121
+ negative_integer integer default -1,
122
+ decimal_number decimal(3,2) default 2.78
123
+ );
124
+
125
+ CREATE TABLE auto_id_tests (
126
+ auto_id serial,
127
+ value integer,
128
+ PRIMARY KEY (auto_id)
129
+ );
130
+
131
+ CREATE TABLE entrants (
132
+ id serial,
133
+ name text not null,
134
+ course_id integer not null
135
+ );
136
+
137
+ CREATE TABLE colnametests (
138
+ id serial,
139
+ "references" integer NOT NULL
140
+ );
141
+
142
+ CREATE TABLE mixins (
143
+ id serial,
144
+ parent_id integer,
145
+ type character varying,
146
+ pos integer,
147
+ lft integer,
148
+ rgt integer,
149
+ root_id integer,
150
+ created_at timestamp,
151
+ updated_at timestamp,
152
+ PRIMARY KEY (id)
153
+ );
154
+
155
+ CREATE TABLE people (
156
+ id serial,
157
+ first_name text,
158
+ lock_version integer default 0,
159
+ PRIMARY KEY (id)
160
+ );
161
+
162
+ CREATE TABLE readers (
163
+ id serial,
164
+ post_id integer NOT NULL,
165
+ person_id integer NOT NULL,
166
+ primary key (id)
167
+ );
168
+
169
+ CREATE TABLE binaries (
170
+ id serial ,
171
+ data bytea,
172
+ PRIMARY KEY (id)
173
+ );
174
+
175
+ CREATE TABLE computers (
176
+ id serial,
177
+ developer integer NOT NULL,
178
+ "extendedWarranty" integer NOT NULL
179
+ );
180
+
181
+ CREATE TABLE posts (
182
+ id serial,
183
+ author_id integer,
184
+ title varchar(255),
185
+ type varchar(255),
186
+ body text
187
+ );
188
+
189
+ CREATE TABLE comments (
190
+ id serial,
191
+ post_id integer,
192
+ type varchar(255),
193
+ body text
194
+ );
195
+
196
+ CREATE TABLE authors (
197
+ id serial,
198
+ name varchar(255) default NULL
199
+ );
200
+
201
+ CREATE TABLE tasks (
202
+ id serial,
203
+ starting timestamp,
204
+ ending timestamp,
205
+ PRIMARY KEY (id)
206
+ );
207
+
208
+ CREATE TABLE categories (
209
+ id serial,
210
+ name varchar(255),
211
+ type varchar(255)
212
+ );
213
+
214
+ CREATE TABLE categories_posts (
215
+ category_id integer NOT NULL,
216
+ post_id integer NOT NULL
217
+ );
218
+
219
+ CREATE TABLE fk_test_has_pk (
220
+ id INTEGER NOT NULL PRIMARY KEY
221
+ );
222
+
223
+ CREATE TABLE fk_test_has_fk (
224
+ id INTEGER NOT NULL PRIMARY KEY,
225
+ fk_id INTEGER NOT NULL REFERENCES fk_test_has_fk(id)
226
+ );
227
+
228
+ CREATE TABLE geometrics (
229
+ id serial primary key,
230
+ a_point point,
231
+ -- a_line line, (the line type is currently not implemented in postgresql)
232
+ a_line_segment lseg,
233
+ a_box box,
234
+ a_path path,
235
+ a_polygon polygon,
236
+ a_circle circle
237
+ );
238
+
239
+ CREATE TABLE keyboards (
240
+ key_number serial primary key,
241
+ "name" character varying(50)
242
+ );
243
+
244
+ --Altered lock_version column name.
245
+ CREATE TABLE legacy_things (
246
+ id serial primary key,
247
+ tps_report_number integer,
248
+ version integer default 0
249
+ );
250
+
251
+ CREATE TABLE numeric_data (
252
+ id serial primary key,
253
+ bank_balance decimal(10,2),
254
+ big_bank_balance decimal(15,2),
255
+ world_population decimal(10),
256
+ my_house_population decimal(2),
257
+ decimal_number_with_default decimal(3,2) default 2.78
258
+ );
259
+
260
+ CREATE TABLE mixed_case_monkeys (
261
+ "monkeyID" serial primary key,
262
+ "fleaCount" integer NOT NULL
263
+ );
264
+
265
+ CREATE TABLE minimalistics (
266
+ id serial primary key
267
+ );
@@ -0,0 +1,2 @@
1
+ DROP TABLE courses;
2
+
@@ -0,0 +1,5 @@
1
+ CREATE TABLE courses (
2
+ id serial,
3
+ name text
4
+ );
5
+
@@ -0,0 +1,67 @@
1
+ drop table accounts;
2
+ drop table authors;
3
+ drop table auto_id_tests;
4
+ drop table binaries;
5
+ drop table booleantests;
6
+ drop table categories;
7
+ drop table categories_posts;
8
+ drop table colnametests;
9
+ drop table comments;
10
+ drop table companies;
11
+ drop table computers;
12
+ drop table customers;
13
+ drop table developers;
14
+ drop table developers_projects;
15
+ drop table entrants;
16
+ drop table fk_test_has_fk;
17
+ drop table fk_test_has_pk;
18
+ drop table funny_jokes;
19
+ drop table keyboards;
20
+ drop table legacy_things;
21
+ drop table mixins;
22
+ drop table movies;
23
+ drop table orders;
24
+ drop table people;
25
+ drop table posts;
26
+ drop table projects;
27
+ drop table readers;
28
+ drop table subscribers;
29
+ drop table tasks;
30
+ drop table topics;
31
+ drop table numeric_data;
32
+ drop table mixed_case_monkeys;
33
+ drop table minimalistics;
34
+
35
+ drop sequence accounts_seq;
36
+ drop sequence authors_seq;
37
+ drop sequence auto_id_tests_seq;
38
+ drop sequence binaries_seq;
39
+ drop sequence booleantests_seq;
40
+ drop sequence categories_seq;
41
+ drop sequence categories_posts_seq;
42
+ drop sequence colnametests_seq;
43
+ drop sequence comments_seq;
44
+ drop sequence companies_seq;
45
+ drop sequence computers_seq;
46
+ drop sequence customers_seq;
47
+ drop sequence developers_seq;
48
+ drop sequence developers_projects_seq;
49
+ drop sequence entrants_seq;
50
+ drop sequence fk_test_has_fk_seq;
51
+ drop sequence fk_test_has_pk_seq;
52
+ drop sequence funny_jokes_seq;
53
+ drop sequence keyboards_seq;
54
+ drop sequence legacy_things_seq;
55
+ drop sequence mixins_seq;
56
+ drop sequence movies_seq;
57
+ drop sequence orders_seq;
58
+ drop sequence people_seq;
59
+ drop sequence posts_seq;
60
+ drop sequence projects_seq;
61
+ drop sequence readers_seq;
62
+ drop sequence subscribers_seq;
63
+ drop sequence tasks_seq;
64
+ drop sequence topics_seq;
65
+ drop sequence numeric_data_seq;
66
+ drop sequence mixed_case_monkeys_seq;
67
+ drop sequence minimalistics_seq;
@@ -0,0 +1,255 @@
1
+ create table accounts (
2
+ id integer not null primary key,
3
+ firm_id integer,
4
+ credit_limit integer
5
+ );
6
+ create sequence accounts_seq minvalue 10000;
7
+
8
+ create table authors (
9
+ id integer not null primary key,
10
+ name varchar(255)
11
+ );
12
+ create sequence authors_seq minvalue 10000;
13
+
14
+ create table auto_id_tests (
15
+ auto_id integer not null primary key,
16
+ value integer
17
+ );
18
+ create sequence auto_id_tests_seq minvalue 10000;
19
+
20
+ /*
21
+ * lvarbinary type imposes many restrictions
22
+ *
23
+ * create table binaries (
24
+ * id integer not null primary key,
25
+ * data lvarbinary(1048576)
26
+ * );
27
+ * create sequence binaries_seq minvalue 10000;
28
+ */
29
+
30
+ create table booleantests (
31
+ id integer not null primary key,
32
+ value integer
33
+ );
34
+ create sequence booleantests_seq minvalue 10000;
35
+
36
+ create table categories (
37
+ id integer not null primary key,
38
+ name varchar(255),
39
+ "type" varchar(255)
40
+ );
41
+ create sequence categories_seq minvalue 10000;
42
+
43
+ create table categories_posts (
44
+ category_id integer not null,
45
+ post_id integer not null
46
+ );
47
+ create sequence categories_posts_seq minvalue 10000;
48
+
49
+ create table colnametests (
50
+ id integer not null primary key,
51
+ "references" integer not null
52
+ );
53
+ create sequence colnametests_seq minvalue 10000;
54
+
55
+ create table comments (
56
+ id integer not null primary key,
57
+ post_id integer,
58
+ "type" varchar(255),
59
+ body varchar(3000)
60
+ );
61
+ create sequence comments_seq minvalue 10000;
62
+
63
+ create table companies (
64
+ id integer not null primary key,
65
+ "type" varchar(50),
66
+ ruby_type varchar(50),
67
+ firm_id integer,
68
+ name varchar(50),
69
+ client_of integer,
70
+ companies_count integer default 0,
71
+ rating integer default 1
72
+ );
73
+ create sequence companies_seq minvalue 10000;
74
+
75
+ create table computers (
76
+ id integer not null primary key,
77
+ developer integer not null,
78
+ "extendedWarranty" integer not null
79
+ );
80
+ create sequence computers_seq minvalue 10000;
81
+
82
+ create table customers (
83
+ id integer not null primary key,
84
+ name varchar(100),
85
+ balance integer default 0,
86
+ address_street varchar(100),
87
+ address_city varchar(100),
88
+ address_country varchar(100),
89
+ gps_location varchar(100)
90
+ );
91
+ create sequence customers_seq minvalue 10000;
92
+
93
+ create table developers (
94
+ id integer not null primary key,
95
+ name varchar(100),
96
+ salary integer default 70000,
97
+ created_at timestamp,
98
+ updated_at timestamp
99
+ );
100
+ create sequence developers_seq minvalue 10000;
101
+
102
+ create table developers_projects (
103
+ developer_id integer not null,
104
+ project_id integer not null,
105
+ joined_on timestamp,
106
+ access_level integer default 1
107
+ );
108
+ create sequence developers_projects_seq minvalue 10000;
109
+
110
+ create table entrants (
111
+ id integer not null primary key,
112
+ name varchar(255),
113
+ course_id integer
114
+ );
115
+ create sequence entrants_seq minvalue 10000;
116
+
117
+ create table fk_test_has_fk (
118
+ id integer not null primary key,
119
+ fk_id integer not null
120
+ );
121
+ create sequence fk_test_has_fk_seq minvalue 10000;
122
+
123
+ create table fk_test_has_pk (
124
+ id integer not null primary key
125
+ );
126
+ create sequence fk_test_has_pk_seq minvalue 10000;
127
+
128
+ create table funny_jokes (
129
+ id integer not null primary key,
130
+ name varchar(50)
131
+ );
132
+ create sequence funny_jokes_seq minvalue 10000;
133
+
134
+ create table keyboards (
135
+ key_number integer not null primary key,
136
+ name varchar(50)
137
+ );
138
+ create sequence keyboards_seq minvalue 10000;
139
+
140
+ /*
141
+ * This table has an altered lock_version column name.
142
+ */
143
+ create table legacy_things (
144
+ id integer not null primary key,
145
+ tps_report_number integer,
146
+ version integer default 0
147
+ );
148
+ create sequence legacy_things_seq minvalue 10000;
149
+
150
+ create table mixins (
151
+ id integer not null primary key,
152
+ parent_id integer,
153
+ "type" varchar(40),
154
+ pos integer,
155
+ lft integer,
156
+ rgt integer,
157
+ root_id integer,
158
+ created_at timestamp,
159
+ updated_at timestamp
160
+ );
161
+ create sequence mixins_seq minvalue 10000;
162
+
163
+ create table movies (
164
+ movieid integer not null primary key,
165
+ name varchar(100)
166
+ );
167
+ create sequence movies_seq minvalue 10000;
168
+
169
+ create table orders (
170
+ id integer not null primary key,
171
+ name varchar(100),
172
+ billing_customer_id integer,
173
+ shipping_customer_id integer
174
+ );
175
+ create sequence orders_seq minvalue 10000;
176
+
177
+ create table people (
178
+ id integer not null primary key,
179
+ first_name varchar(40) null,
180
+ lock_version integer default 0
181
+ );
182
+ create sequence people_seq minvalue 10000;
183
+
184
+ create table posts (
185
+ id integer not null primary key,
186
+ author_id integer,
187
+ title varchar(255),
188
+ "type" varchar(255),
189
+ body varchar(3000)
190
+ );
191
+ create sequence posts_seq minvalue 10000;
192
+
193
+ create table projects (
194
+ id integer not null primary key,
195
+ name varchar(100),
196
+ "type" varchar(255)
197
+ );
198
+ create sequence projects_seq minvalue 10000;
199
+
200
+ create table readers (
201
+ id integer not null primary key,
202
+ post_id integer not null,
203
+ person_id integer not null
204
+ );
205
+ create sequence readers_seq minvalue 10000;
206
+
207
+ create table subscribers (
208
+ nick varchar(100) not null primary key,
209
+ name varchar(100)
210
+ );
211
+ create sequence subscribers_seq minvalue 10000;
212
+
213
+ create table tasks (
214
+ id integer not null primary key,
215
+ starting date,
216
+ ending date
217
+ );
218
+ create sequence tasks_seq minvalue 10000;
219
+
220
+ create table topics (
221
+ id integer not null primary key,
222
+ title varchar(255),
223
+ author_name varchar(255),
224
+ author_email_address varchar(255),
225
+ written_on timestamp,
226
+ bonus_time timestamp,
227
+ last_read date,
228
+ content varchar(4000),
229
+ approved integer default 1,
230
+ replies_count integer default 0,
231
+ parent_id integer,
232
+ "type" varchar(50)
233
+ );
234
+ create sequence topics_seq minvalue 10000;
235
+
236
+ create table numeric_data (
237
+ id integer not null primary key,
238
+ bank_balance decimal(10,2),
239
+ big_bank_balance decimal(15,2),
240
+ world_population decimal(10),
241
+ my_house_population decimal(2),
242
+ decimal_number_with_default decimal(3,2) default 2.78
243
+ );
244
+ create sequence numeric_data_seq minvalue 10000;
245
+
246
+ create table mixed_case_monkeys (
247
+ "monkeyID" integer not null primary key,
248
+ "fleaCount" integer
249
+ );
250
+ create sequence mixed_case_monkeys_seq minvalue 10000;
251
+
252
+ create table minimalistics (
253
+ id integer not null primary key
254
+ );
255
+ create sequence minimalistics_seq minvalue 10000;