History for sequel/Rakefile
Commits on Jul 6, 2012
This moves testing of the core_extensions extension to a separate rake task, and makes the remaining specs run without the core extensions. The idea here is that no internal part of Sequel should depend on the core extensions. Sequel previously had a spec that scanned the source to look for possible core extensions use, but that is not a fool proof approach. If specs run clean without the core extensions, it's unlikely anything internal uses the core extensions.
Commits on Jul 1, 2012
Commits on Jun 5, 2012
These are the most common adapters, so I think it makes sense to test them on TravisCI for additional assurance.
Commits on May 24, 2012
While here, change the threshold to 100%, so that files with 100% coverage aren't shown. Sequel is now back to 100% code coverage for core, model, plugins, and extensions. The core/model specs don't show 100% code coverage because there are a few branches that are based on the ruby version or engine.
Commits on May 23, 2012
This removes the other files from the output, since they are just noise.
Commits on Apr 2, 2012
Commits on Mar 26, 2012
…ociations code This should be used to check that the main model code has no dependencies on the associations code. There were a few places in record_spec.rb that assumed the associations code was loaded, move those specs to the associations spec.
Commits on Feb 2, 2012
…l/uninstall tasks (Fixes #433)
Commits on Dec 13, 2011
… task Because of how this is implemented (block taking block arguments), it will only work on ruby 1.8.7+.
Commits on Nov 30, 2011
Other rake tasks should probably be fixed as well, but they can wait.
Commits on Oct 19, 2011
Commits on Oct 7, 2011
Commits on Sep 13, 2011
This makes the ibmdb adapter pass all but 6 tests (which are marked as pending) using DB2 9.7. Still various cleanup to do in the adapter, but this is a good baseline to make sure that no regressions are introduced. Rename the spec file to db2_spec, since specs are generally for databases and not adapters.
Commits on Sep 12, 2011
Commits on Sep 1, 2011
Commits on Aug 11, 2011
Commits on Jul 17, 2011
mislav's original hanna only works on RDoc 2.3. It's pretty much a dead end development wise. hanna-nouveau is a fork that works with modern versions of RDoc (currently 3.8). This uses hanna-noveau if a modern version of RDoc is used, and should still retain backwards compatibility with really old versions of RDoc. I'm not sure if it works with newer RDoc if you don't have hanna-nouveau installed, though.
Commits on Feb 9, 2011
This updates the Rakefile and specs to use the new class names and methods for RSpec 2, and removes the use of context in favor of describe. Future updates to the specs should only use describe and should work correctly under both RSpec 1 and RSpec 2.
Commits on Dec 2, 2010
Commits on Sep 30, 2010
Commits on Aug 6, 2010
Commits on Jun 16, 2010
This just reduces some duplication of spec tasks in the Rakefile. While here, a few task names changed for consistency: * spec_coverage -> spec_cov * integration -> spec_integration * integration_cov -> spec_integration_cov I also added a default task if rspec is not installed, telling you to install rspec to run the specs.
Commits on May 11, 2010
…tions and Schema Modification guide
Commits on Mar 5, 2010
Commits on Feb 19, 2010
Sequel's gem specification has been in the Rakefile since I took over maintenance, and I've always been looking for a reason to move it into a gemspec file. While here, don't create a tar file, and put the gem in the root repository directory instead of in pkg. The rake task now calls gem build, similar to the other package tasks that use gem directly.
Commits on Feb 14, 2010
Jakub Stastny aka Botanicus committed with jeremyevans
Commits on Nov 22, 2009
Commits on Nov 16, 2009
Commits on Oct 6, 2009
Hopefully this will allow catching issues similar to the MSSQL ruby 1.9 incompatibility. There's probably a better way of determining the ruby interpreter, but the way I coded it, it uses ENV['RUBY'] or just 'ruby'. Usage: RUBY=ruby19 rake check_syntax
Commits on Oct 4, 2009
…age on a real database
Commits on Aug 24, 2009
John Firebaugh committed
Commits on Jul 7, 2009
This substantial commit provides much better support for Microsoft SQL Server. Specific MSSQL subadapters were added for the ado, odbc, and jdbc adapters. Mostly the subadapters involve getting insert working properly to return the last inserted id. While making these changes I've noticed that the ado adapter has huge problems, enough so that I wouldn't recommend that anyone use it. It doesn't use a stable native connection, which means it can't work correctly with transactions. It requires a pretty ugly hack to get insert to return the id inserted. Transactions on ado now unconditionally yield nil. I thought about them raising an exception instead, but that would make the ado adapter not work well with models (without fiddling). It's possible the behavior will be changed in the future. As bad as the ado adapter is now, it's still much better than before. Before, the ado adapter would run all queries twice when fetching rows, and if you did any nonidempotent actions inside the SQL, you'd have problems (as I found out when I used the ugly hack to get insert to return the id inserted). The ado and odbc adapters now catch the native exceptions and raise Sequel::DatabaseError exceptions. Also, the behavior to handle blank identifiers has been standardized. Sequel will now assume an identifier of 'untitled' if a blank identifier is given. The shared MSSQL adapter now supports Database#tables and Database#schema, using the INFORMATION_SCHEMA views (very similarly to what was used in Sequel 2.0). Now, it also supports add_column, rename_column, set_columns_type, set_column_null, and set_column_default. The shared MSSQL's schema method doesn't include primary key info, so some of the model logic changed so that it doesn't try to set no primary key unless all schema hashes include a primary key entry. The shared MSSQL adapter now uses the datetime type instead of the timestamp type for generic datetimes, and uses bit and image for boolean and file types. It uses 0 and 1 for false and true, and no longer attempts to use IS TRUE. The odbc adapter's literal_time method has been fixed. In order to ease the connection to MSSQL servers with instances using a connection string, Sequel now will unescape URL parts. So the following now works: Sequel.connect(ado:///db?host=server%5cinstance) The ado adapter specs were removed, because the ado adapter itself doesn't really have any specific behavior that should be tested. Now that Sequel has the generic integration tests, those should be used instead. I removed the spec_ado rake task. and replaced it with a spec_firebird rake task. Here's the results for integration testing on MSSQL with each adapter: * ado: 115 examples, 42 failures * jdbc: 117 examples, 22 failures * odbc: 115 examples, 19 failures Many of the remaining failures are due to the fact that some tests try to insert values into an autoincrementing primary key field, which MSSQL doesn't allow. Those tests should be refactored unless they are explicitly testing that feature.
Commits on Jun 4, 2009
The integration tests can also be thought of as generic adapter specs. In my testing, I was always running both the adapter specs and the integration tests. Combining them should make my test suite run faster (especially the JRuby tests because of the startup time). Implementation is fairly simple, just assigning the adapter database constant to the integration database constant and including the integration spec files. The integration rake task stays, for backwards compatibility and because some adapters don't have adapter specs (e.g. H2 on JDBC). Combining the two is what helped me find the PostgreSQL Database#indexes problem. Finally, change the start_logging/stop_logging helper methods to a single log method that takes a block. Almost always I use the logging methods when debugging where an exception is raised, and the log method makes that a lot easier.