asa-2000 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,501 @@
1
+
2
+ * 3.2.0 *
3
+
4
+ * Make use of the new ConnectionAdapters::SchemaCache for our needs.
5
+
6
+ * New Sqlserver::Utils class for out helpers. Moved table name unquotes there.
7
+
8
+
9
+ * 3.1.5 *
10
+
11
+ * Better support for orders with an expression. Fixes #155. [Jason Frey, Joe Rafaniello]
12
+
13
+
14
+ * 3.1.4 *
15
+
16
+ * Use INFORMATION_SCHEMA.KEY_COLUMN_USAGE for schema reflection speed.
17
+ Fixes #125. [Wüthrich Hannes @hwuethrich]
18
+
19
+ * New deadlock victim retry using the #retry_deadlock_victim config. [Jason Frey, Joe Rafaniello]
20
+
21
+ * Renamed #with_auto_reconnect to #with_sqlserver_error_handling now that it handles both dropped
22
+ connections and deadlock victim errors. Fixes #150 [Jason Frey, Joe Rafaniello]
23
+
24
+ * Add activity_stats method that mimics the SQL Server Activity Monitor. Fixes #146 [Jason Frey, Joe Rafaniello]
25
+
26
+ * Add methods for sqlserver's #product_version, #product_level, #edition and include them in inspect.
27
+ Fixes #145 [Jason Frey, Joe Rafaniello]
28
+
29
+ * Handle statements that cannot be retried on a new database connection by not reconnecting.
30
+ Fixes #147 [Jason Frey, Joe Rafaniello]
31
+
32
+ * Added connection#spid for debugging. Fixes #144 [Jason Frey, Joe Rafaniello]
33
+
34
+ * Add ENV['TEST_FILES'] to Rakefile for easy single case tests. [Jason Frey, Joe Rafaniello]
35
+
36
+ * Pass ActiveRecord tests. Made windowed distinct pass all orders to groups.
37
+ - test_limited_eager_with_multiple_order_columns
38
+ - test_limited_eager_with_order
39
+
40
+ * Pass AR tests by moving DISTINCT to GROUP BY in windowed SQL.
41
+ - test_count_eager_with_has_many_and_limit_and_high_offset
42
+ - test_eager_with_has_many_and_limit_and_high_offset
43
+
44
+
45
+ * 3.1.3 *
46
+
47
+ * Distinguish between identity and primary key key columns during schema reflection. Allows us
48
+ us to only do identity inserts when technically needed. Fixes #139 [chadcf] & [joncanady]
49
+
50
+
51
+ * 3.1.2 *
52
+
53
+ * Fix SQL Azure conflicts with DBCC useroptions. Use new #user_options_xyz methods. [kazamachi]
54
+
55
+ * Fix identity inserts for tables with natural PKs. [Gian Carlo Pace]
56
+
57
+ * Create a #configure_connection method that can be overridden. Think "SET TEXTSIZE...".
58
+
59
+ * Create a #configure_application_name method that can be overridden for unique TinyTDS app names
60
+
61
+ * Fixed the #finish_statement_handle to cancel the TinyTDS connection if needed.
62
+
63
+
64
+ * 3.1.1 *
65
+
66
+ * Make #rollback_db_transaction smarter.
67
+
68
+ * Provide a method to override for the quoted string prefix. Not a config because trumping this method will
69
+ have drastically bad results. Fixes #124
70
+
71
+ * Allow :limit/:offset to be used with fully qualified table and column in :select.
72
+
73
+
74
+ * 3.1.0 *
75
+
76
+ * Add support/test around handling of float/real column types [Lucas Maxwell]
77
+
78
+ * Make auto reconnect duration configurable. Fixes #109 [David Chelimsky]
79
+
80
+ * Quote most time objects to use ISO8601 format to be multi-language dateformat compatible. The [datetime] data type is
81
+ automatically limited to milliseconds while [time] & [datetimeoffset] have full support. Even included a Date/Time
82
+ ActiveSupport formatter that is used per the language settings of the connection.
83
+
84
+ * Include a visit_Arel_Nodes_UpdateStatement method in our Arel visitor to add a limit/top for update
85
+ that has order and no limit/top. https://github.com/rails/rails/commit/787194ee43ab1fb0a7dc8bfbbfbd5079b047d833
86
+
87
+ * Allow drop_database to be called even when DB does not exist.
88
+
89
+ * Remove totally broken ADONET connection mode. Want it back, submit a patch.
90
+
91
+ * Schema reflection now finds primary key for all occasions. Fixed #60 [Boško Ivanišević]
92
+
93
+ * Allow complex order objects to not be molested by our visitor overrides. Fixes #99
94
+
95
+ * Default unicode datatypes!
96
+
97
+ * New #lowercase_schema_reflection configuration that allows you to downcase all tables and columns.
98
+ Good for legacy databases. Fixes #86. Thanks @dmajkic.
99
+
100
+ * Rails 3.1 with prepared statement support. Uses "EXEC sp_executesql ..." for just about everything now.
101
+
102
+
103
+ * 3.0.15 *
104
+
105
+ * Way better schema support! Thanks to @ianic! Fixes #61
106
+
107
+ * Warn of possible permission problems if "EXEC sp_helptext..." does not work view. Fixes #73.
108
+
109
+
110
+ * 3.0.13/3.0.14 *
111
+
112
+ * Allow TinyTDS/DBLIB mode to pass down :host/:port config options.
113
+
114
+
115
+ * 3.0.12 *
116
+
117
+ * Bug fix for previous TinyTDS lost connections.
118
+
119
+
120
+ * 3.0.11 *
121
+
122
+ * Azure compatibility.
123
+
124
+ * TinyTDS enhancements for lost connections. Default connection mode.
125
+
126
+
127
+ * 3.0.10 *
128
+
129
+ * Fix #rowtable_orders visitor helper to use first column if no pk column was found.
130
+
131
+ * Flatten sp_helpconstraint when looking for constraints just in case fks are present. Issue #64.
132
+
133
+ * Start to support 2011 code named "Denali".
134
+
135
+ * Limit and Offset can take SqlLiteral objects now.
136
+
137
+
138
+ * 3.0.9 *
139
+
140
+ * Fix array literal parsing bug for ruby 1.9.
141
+
142
+
143
+ * 3.0.8 *
144
+
145
+ * Support for ActiveRecord v3.0.3 and ARel v2.0.7
146
+
147
+
148
+ * 3.0.7 *
149
+
150
+ * Properly quote table names when reflecting on views.
151
+
152
+ * Add "dead or not enabled" to :dblib's lost connection messages.
153
+
154
+
155
+ * 3.0.6 *
156
+
157
+ * Maintenance release. Lock down to ActiveRecord 3.0.1 using ARel 1.0.0.
158
+
159
+
160
+ * 3.0.5 *
161
+
162
+ * Fixed native database type memoization, now at connection instance level. Fix #execute_procedure for :dblib mode to return indifferent access rows too.
163
+
164
+ * Make login timeout and query timeout backward database.yml friendly for :dblib mode.
165
+
166
+
167
+ * 3.0.4 *
168
+
169
+ * Add multiple results set support with #execute_procedure for :dblib mode. [Ken Collins]
170
+
171
+ * Simplify encoding support. [Ken Collins]
172
+
173
+ * Add binary timestamp datatype handling. [Erik Bryn]
174
+
175
+
176
+ * 3.0.3
177
+
178
+ * Add TinyTDS/dblib connection mode. [Ken Collins]
179
+
180
+
181
+ * 3.0.2
182
+
183
+ * Fix DSN'less code. [Erik Bryn]
184
+
185
+
186
+ * 3.0.1
187
+
188
+ * Support DSN'less connections. Resolves ticket 38.
189
+
190
+ * Support upcoming ruby odbc 0.99992
191
+
192
+
193
+ * 3.0.0
194
+
195
+ * Release rails 3 version!
196
+
197
+
198
+ * 2.3.8
199
+
200
+ * Properly quote all database names in rake helper methods. [Ken Collins]
201
+
202
+
203
+ * 2.3.7
204
+
205
+ * Correctly use :date/:time SQL types in 2008 [Ken Collins]
206
+
207
+
208
+ * 2.3.6
209
+
210
+ * Allow DNS's to not contain a database and use what is in database.yml [Marco Mastrodonato]
211
+
212
+ * Rake tasks methods for vanilla rails :db namespace parity. [Ken Collins]
213
+
214
+ * IronRuby integrated security fixes [Jimmy Schementi]
215
+
216
+
217
+ * 2.3.5
218
+
219
+ * Initial IronRuby ADONET connection mode support baked right in. Removed most &block
220
+ parameters, no handle/request object yielded anymore. Better abstraction and compliance
221
+ per the ActiveRecord abstract adapter to not yielding handles for #execute and only for
222
+ low level #select. Better wrapping of all queries at lowest level in #log so exceptions
223
+ at anytime can be handled correctly by core AR. Critical for System::Data's command
224
+ readers. Better abstraction for introspecting on #connection_mode. Added support for
225
+ running singular test cases via TextMate's Command-R. [Ken Collins]
226
+
227
+ * Force a binary encoding on values coming in and out of those columns for ruby 1.9.
228
+ Fixes ticket #33 [Jeroen Zwartepoorte]
229
+
230
+ * Using change_column will leave default if the type does not change or a new default
231
+ is not included. Fixes issue #22. [Ransom Briggs]
232
+
233
+ * Use correct SP name for sp_MSforeachtable so any collation can get to it. [7to3]
234
+
235
+ * Qualify INFORMATION_SCHEMA.COLUMNS with a correct period DB name if present.
236
+
237
+ * Allow adapter to return multiple results sets, for example from stored procedures. [Chris Hall]
238
+
239
+
240
+ * 2.3.4
241
+
242
+ * For tables that named with schema(ex. rails.users), they could not get length of column.
243
+ column of varchar(40) gets length => nil. Ticket #27 & #15 [Ken Tachiya]
244
+
245
+ * Altered limited_update_conditions regex conditions, the .* would greedily fail
246
+ if the where_sql had WHERE in a table or field, etc. [Ransom Briggs]
247
+
248
+ * Changing test to allow ENV['ARUNIT_DB_NAME'] as the database name for the test units.
249
+ Matches up with AR conventions. [Ransom Briggs]
250
+
251
+
252
+ 2.3.3
253
+
254
+ * Revert #ad83df82 and again cache column information at the connection's instance. The
255
+ previous commit was causing all sorts of view and schema reflection problems. [Ken Collins]
256
+
257
+
258
+ 2.3.2
259
+
260
+ * Insert queries that include the word "insert" as a partial column name with the word
261
+ "id" as a value were falsely being matched as identity inserts. [Sean Caffery/bfabry]
262
+
263
+ * Delegate all low level #raw_connection calls to #raw_connection_run and #raw_connection_do
264
+ which abstract out the low level modes in the connection options at that point. [Ken Collins]
265
+
266
+ * Remove DBI dependency and go straight ODBC for speed improvement [Erik Bryn]
267
+
268
+ * Leave order by alone when same column crosses two tables [Ransom Briggs]
269
+
270
+
271
+ * 2.3 * (December 1st, 2009)
272
+
273
+ * Table and column aliases can handle many. Resolves ticket #19 [stonegao]
274
+
275
+ * Coerce a few tests that were failing in 2.3.x [Ken Collins]
276
+
277
+ * Change column/view cache to happen at class level. Allows connection pool to share same
278
+ caches as well as the ability to expire the caches when needed. Also fix change_column so
279
+ that exceptions are not raised when the column contains an existing default. [Ken Collins]
280
+
281
+ * Allow query_requires_identity_insert? method to return quoted table name in situations where the
282
+ INSERT parts are not quoted themselves. [Gary/iawgens, Richard Penwell, Ken Collins]
283
+
284
+ * Fixed namespace in calling test_sqlserver_odbc within test_unicode_types. [Gary/iawgens]
285
+
286
+ * Columns with multi-line defaults work correctly. [bfabry]
287
+
288
+
289
+ * 2.2.22 * (October 15th, 2009)
290
+
291
+ * Support Identity-key-column judgement on multiple schema environment [Ken Tachiya]
292
+
293
+ * Add support for tinyint data types. In MySQL all these types would be boolean, however in
294
+ our adapter, they will use the full 1 => 255 Fixnum value as you would expect. [Ken Collins]
295
+
296
+
297
+ * 2.2.21 * (September 10th, 2009)
298
+
299
+ * Changes for gem best practices per http://weblog.rubyonrails.org/2009/9/1/gem-packaging-best-practices
300
+ Details of such are as follows: [Ken Collins]
301
+ - Removed rails-sqlserver-2000-2005-adapter.rb load file for old github usage.
302
+ - Move the core_ext directory to active_record/connection_adapters/sqlserver_adapter/core_ext
303
+ - Renamespace SQLServerDBI to ActiveRecord::ConnectionAdapters::SQLServerCoreExtensions::DBI
304
+ - Renamespace ActiveRecord::ConnectionAdapters::SQLServerActiveRecordExtensions to ActiveRecord::ConnectionAdapters::SQLServerCoreExtensions::ActiveRecord
305
+
306
+
307
+ * 2.2.20 * (September 10th, 2009)
308
+
309
+ * Implement a new remove_default_constraint method that uses sp_helpconstraint [Ken Collins]
310
+
311
+ * Use a lazy match in add_order_by_for_association_limiting! to allow sub selects to be used. Resolves
312
+ ticket #11.
313
+
314
+ * Add default rake task back for testing. Runs the namespaced sqlserver:test_sqlserver_odbc.
315
+ Resolves ticket #10 [Ken Collins]
316
+
317
+ * Default value detection in column_definitions is kinder to badly formatted, or long winded user
318
+ defined functions, for default values. Resolves ticket #8 [Ken Collins]
319
+
320
+ * Make sure bigint SQL Server data type can be used and converted back to Bignum as expected. [Ken Collins]
321
+
322
+
323
+ * 2.2.19 * (June 19th, 2009)
324
+
325
+ * Leave quoted column names as is. Resolves ticket #36 [Vince Puzzella]
326
+
327
+ * Changing add_limit! in ActiveRecord::Base for SQLServer so that it passes through any scoped :order
328
+ parameters. Resolves ticket #35 [Murray Steele]
329
+
330
+
331
+ * 2.2.18 * (June 5th, 2009)
332
+
333
+ * Column reflection on table name rescues LoadError and a few others. Resolves tickets #25 & #33 [Ken Collins]
334
+
335
+ * Added 2008 support. Resolves ticket #32 [Ken Collins]
336
+
337
+
338
+ * 2.2.17 * (May 14th, 2009)
339
+
340
+ * Add simplified type recognition for varchar(max) and nvarchar(max) under SQL Server 2005 to be a
341
+ :text type. This ensures schema dumper does the right thing. Fixes ticket #30. [Ken Collins]
342
+
343
+ * Tested ruby 1.9, ruby-odbc 0.9996, and DBI 0.4.1. Also added correct support for UTF-8 character
344
+ encoding going in and out of the DB. See before gist http://gist.github.com/111709 and after gist
345
+ http://gist.github.com/111719 [Ken Collins]
346
+
347
+
348
+ * 2.2.16 * (April 21st, 2009)
349
+
350
+ * Make add_limit_offset! only add locking hints (for tally) when the :lock option is present. Added tests
351
+ to make sure tally SQL is augmented correctly and tests to make sure that add_lock! is doing what it needs
352
+ for deep sub selects in paginated results. [Ken Collins]
353
+
354
+ * Add auto reconnect support utilizing a new #with_auto_reconnect block. By default each query run through
355
+ the adapter will automatically reconnect at standard intervals, logging attempts along the way, till success
356
+ or the original exception bubbles up. See docs for more details. Resolves ticket #18 [Ken Collins]
357
+
358
+ * Update internal helper method #orders_and_dirs_set to cope with an order clause like "description desc". This
359
+ resolves ticket #26 [Ken Collins]
360
+
361
+ * Provide support for running queries at different isolation levels using #run_with_isolation_level method
362
+ that can take a block or not. Also implement a #user_options method that reflects on the current user
363
+ session values. Resolves #20 [Murray Steele]
364
+
365
+
366
+ * 2.2.15 * (March 23rd, 2009)
367
+
368
+ * Better add_lock! method that can add the lock to just about all the elements in the statement. This
369
+ could be eager loaded associations, joins, etc. Done so that paginated results can easily add lock
370
+ options for performance. Note, the tally count in add_limit_offset! use "WITH (NOLOCK)" explicitly
371
+ as it can not hurt and is needed. [Ken Collins]
372
+
373
+
374
+ * 2.2.14 * (March 17th, 2009)
375
+
376
+ * Rails2.3 - Back passing tests on 2.2 work. Includes: (1) Created new test helpers that check ActiveRecord
377
+ version strings so we can conditionally run 2.2 and 2.3 tests. (2) Making TransactionTestSqlserver use Ship vs
378
+ Bird model. Also made it conditional run a few blocks for different versions of ActiveRecord. (3) Previous
379
+ JoinDependency#aliased_table_name_for is now only patched in ActiveRecord equal or greater than 2.3. [Ken Collins]
380
+
381
+ * Rails2.3 - Implement new savepoint support [Ken Collins]
382
+ http://rails.lighthouseapp.com/projects/8994/tickets/383
383
+ http://www.codeproject.com/KB/database/sqlservertransactions.aspx
384
+
385
+ * Rails2.3 - Coerce NestedScopingTest#test_merged_scoped_find to use correct regexp for adapter. [Ken Collins]
386
+
387
+ * Rails2.3 - Implement a custom ActiveRecord::Associations::ClassMethods::JoinDependency::JoinAssociation#aliased_table_name_for
388
+ method that uses a Regexp.escape so that table/column quoting does not get ignored. [Ken Collins]
389
+
390
+ * Rails2.3 - Implement #outside_transaction? and a new transaction test case to test some SQL Server
391
+ basic support while implementing this method. Future home of some savepoint tests too. [Ken Collins]
392
+
393
+ * Rails2.3 - Coerced tests that ensure hash conditions on referenced tables are considered when eager
394
+ loading with limit/offset. Information on these changes and the ticket in rails are.
395
+ http://github.com/rails/rails/commit/9a4d557713acb0fc8e80f61af18094034aca029a
396
+ http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1404-conditions_tables-doesnt-understand-condition-hashes
397
+
398
+ * Rails2.3 - Add coerced tests for true/false attributes in selects use SQL Server case statement. [Ken Collins]
399
+
400
+ * Making sure that smalldatetime types are OK to use. Also fixed a bug in the #view_information method that
401
+ checks to see if a view definition is equal to 4000 chars, meaning that it is most likely truncated and
402
+ needs to use the backup method of sp_helptext to get it's view definition. [Ken Collins]
403
+
404
+
405
+ * 2.2.13 * (February 10th, 2009)
406
+
407
+ * Update #indexes to use unqualified table name. Fixes cases where users may decide to use table
408
+ name prefixes like 'dbo.'. [Ken Collins]
409
+
410
+
411
+ * 2.2.12 * (February 8th, 2009)
412
+
413
+ * Update table_exists? to work with qualified table names that may include an user prefix. [Ken Collins]
414
+
415
+
416
+ * 2.2.10/11 * (January 22nd, 2009)
417
+
418
+ * Add a rails-sqlserver-2000-2005-adapter.rb file so that long :lib option for config.gem is no longer needed.
419
+
420
+
421
+ * 2.2.9 * (January 22nd, 2009)
422
+
423
+ * Fixing a small bug in the deprecated DBI::Timestamp conversion so it correctly converts nanosecond whole
424
+ numbers to back to pre type cast SQL Server milliseconds, ultimately allow ruby's Time#usec which is
425
+ microseconds to be correct. [Ken Collins]
426
+
427
+ * Sometimes views are more than 4000 chars long and will return NULL for the VIEW_DEFINITION. If so, use
428
+ sp_helptext procedure as a backup method. [Ken Collins]
429
+
430
+
431
+ * 2.2.8 (January 9th, 2009)
432
+
433
+ * Update execute_procedure method a bit to remove excess code. [Ken Collins]
434
+
435
+
436
+ * 2.2.7 (January 9th, 2009)
437
+
438
+ * Created a connection#execute_procedure method that takes can take any number of ruby objects as variables
439
+ and quotes them according to the connection's rules. Also added an ActiveRecord::Base class level core
440
+ extension that hooks into this. It also checks if the connection responds to #execute_procedure and if
441
+ not returns an empty array. [Ken Collins]
442
+
443
+ * Added a #enable_default_unicode_types class attribute access to make all new added or changed string types
444
+ like :string/:text default to unicode/national data types. See the README for full details. Added a rake
445
+ task that assists setting this to true when running tests. [Ken Collins]
446
+
447
+
448
+ * 2.2.6 (January 8th, 2009)
449
+
450
+ * Introduced a bug in 2.2.5 in the #add_order! core ext for ActiveRecord. Fixed [Ken Collins]
451
+
452
+
453
+ * 2.2.5 (January 4th, 2009)
454
+
455
+ * Added a log_info_schema_queries class attribute and make all queries to INFORMATION_SCHEMA silent by
456
+ default. [Ken Collins]
457
+
458
+ * Fix millisecond support in datetime columns. ODBC::Timestamp incorrectly takes SQL Server milliseconds
459
+ and applies them as nanoseconds. We cope with this at the DBI layer by using SQLServerDBI::Type::SqlserverTimestamp
460
+ class to parse the before type cast value appropriately. Also update the adapters #quoted_date method
461
+ to work more simply by converting ruby's #usec milliseconds to SQL Server microseconds. [Ken Collins]
462
+
463
+ * Core extensions for ActiveRecord now reflect on the connection before doing SQL Server things. Now
464
+ this adapter is compatible for using with other adapters. [Ken Collins]
465
+
466
+
467
+ * 2.2.4 (December 5th, 2008)
468
+
469
+ * Fix a type left in #views_real_column_name. Also cache #view_information lookups. [Ken Collins]
470
+
471
+
472
+ * 2.2.3 (December 5th, 2008)
473
+
474
+ * Changing back to using real table name in column_definitions. Makes sure views get back only the columns
475
+ that are defined for them with correct names, etc. Now supporting views by looking for NULL default and
476
+ then if table name is a view, perform a targeted with sub select to the real table name and column name
477
+ to find true default. [Ken Collins]
478
+
479
+ * Ensure that add_limit_offset! does not alter sub queries. [Erik Bryn]
480
+
481
+
482
+ 2.2.2 (December 2nd, 2008)
483
+
484
+ * Add support for view defaults by making column_definitions use real table name for schema info. [Ken Collins]
485
+
486
+ * Include version in connection method and inspection. [Ken Collins]
487
+
488
+
489
+ 2.2.1 (November 25th, 2008)
490
+
491
+ * Add identity insert support for views. Cache #views so that identity #table_name_or_views_table_name
492
+ will run quickly. [Ken Collins]
493
+
494
+ * Add views support. ActiveRecord classes can use views. The connection now has a #views method and
495
+ #table_exists? will now fall back to checking views too. [Ken Collins]
496
+
497
+
498
+ 2.2.0 (November 21st, 2008)
499
+
500
+ * Release for rails 2.2.2. Many many changes. [Ken Collins], [Murray Steele], [Shawn Balestracci], [Joe Rafaniello]
501
+