Ah, your point makes sense finally. Thanks for clearing that up! I didn't consider the issue with changing of the API.

However, existing code can no longer be compatible with the existing API... you can't just take SQL from DataQuery::sql and pass it onto DB::query without considering parameters.

I think that there should be some warning, although I'll add deprecation notices in here.

I did test the code but I didn't receive any warnings (although I may have my php error reporting set to the wrong level)

How does the following look to you?

```php
	public function sql(&$parameters = array()) {
		if(func_num_args() == 0) {
			Deprecation::notice('3.2', 'DataQuery::sql() now may produce parameters which are necessary to execute this query');
		}
		return $this->getFinalisedQuery()->sql($parameters);
	}
```