989 Commits

Author SHA1 Message Date
5609e918de Fixed some malformed @var tags (#13468) [skip ci] 2017-01-30 11:42:52 +03:00
37b8cbb2d0 Fixes #12758: Added the ability to use instances of \yii\db\Query class as values in the \yii\db\QueryBuilder::insert() method 2017-01-29 00:54:46 +03:00
25f08afc96 Fixes #8293: yii\db\Query can be passed to insert method in yii\db\QueryBuilder 2017-01-28 23:47:26 +03:00
cc37cd626f Fixes #12599: Fixed MSSQL fail to work with nvarbinary. Enhanced SQL scripts compatibility with older versions 2017-01-23 10:31:52 +03:00
3692941ead Fixes #11464: Foreign key name is not provided by schema 2017-01-16 00:27:20 +03:00
0a978f9d1e Fix fetching schema information for pgsql when PDO::ATTR_CASE is set 2017-01-05 17:54:37 +02:00
f3bc11c724 Implement #13219: Ability to not shuffle masters connections (#13241)
* Implement #13219: Ability to not shuffle masters connections

* Enh: add master connection getter

* Add test case for #13241 which implements #13219

* Doc comments [skip ci]

* Doc comments

* Fix: wrong return value when no masters

* Revert `getMasterPdo()` 4a786c7e10519bd1b3b5593e6fa0a6bbdafbb37a

* Fix: try to fix too slow test

* Refact: fix Single Responsibility; Fix possible BC break

* Update Connection.php

* Update Connection.php

* Update Connection.php

* Update Connection.php

* Updated CHANGELOG

* Fix: grammatic mistake

* Refact: property renamed from `randomizeMasters` to `shuffleMasters`

* Refact: split and try to simplify tests
2017-01-02 02:15:13 +01:00
30e599b94f updated docs about deleteALl() and updateAll() 2016-12-27 21:35:45 +01:00
8f5f540455 Fix fetching table schema for pgsql when PDO::ATTR_CASE is set 2016-12-19 17:10:34 +02:00
3624eae23f Merge pull request #13217 from yiisoft/throwable
Catch `\Throwable` in critical places
2016-12-18 19:53:27 +02:00
25e6eb04a5 refs #11122: Fixed can not use orderBy with aggregate functions (#12772)
* refs #11122: Fixed can not use `orderBy` with aggregate functions like `count`, `max` etc.

* Update QueryTest.php
2016-12-18 11:28:34 +02:00
cb52c42cf5 more details about PHP 5 and 7 compatibility regarding Throwable 2016-12-17 00:43:48 +01:00
350e93e626 Fixes #12612: Query conditions added with yii\db\Query::andWhere() now get appended to the existing conditions if they were already being joined with the and operator 2016-12-16 13:19:14 +03:00
a3b6dfbb7b Catch \Throwable in critical places
Added catch `\Throwable` to be compatible with PHP7.
Added it in cases where object state needs to be kept consistent.

Mainly on transactions but also some other places where some values are
reset before exiting.

Most of them could probably be refactored by using `finally` in 2.1, as
that requires PHP 5.5.

fixes #12619
2016-12-16 02:20:02 +01:00
3e03237713 Merge branch 'master' into query-filter-having 2016-12-15 18:04:05 +03:00
518be6b8ec Enhanced PHPDocs markup 2016-12-14 23:07:44 +02:00
837b33767c Fixes #11697: Added filterHaving(), andFilterHaving() and orFilterHaving() to yii\db\Query
Signed-off-by: Alexander Makarov <sam@rmcreative.ru>
2016-12-14 23:58:04 +03:00
e78a7fe20e Initial work on #11697 2016-12-14 23:57:02 +03:00
88f2348ed5 Fixed ActiveRecord::unlinkAll() to respect onCondition()
Closes #12213
2016-12-14 22:51:21 +02:00
ae83dd0524 Fixes #13128: Fixed incorrect position of {pos} string in ColumnSchemaBuilder __toString 2016-12-11 23:36:35 +03:00
b8bf0d0c0c added hint into foreign keys query for oracle 11g optimisation
update oci tests
improved varible name

Closes #13122
2016-12-10 20:26:22 +02:00
92eee10ae1 Change the name of method getQueryTableName and remove its $query argument (#12893)
* refactores getQueryTableName:
* replaces the $query argument with a $this implementation

* exposes getQueryTableName to be public instead of private. Fixes #12878

* added unit tests for exposed method

* updated changelog

* - methodname changed to 'getTableNameAndAlias'
- scope back to private
- added @internal tag to emphasize that the method is used purely for the internal workings of this piece of software.
- removed changelog (as the API has not changed)

* update tests
2016-12-08 21:22:18 +01:00
c17766181f Added QueryInterface::emulateExecution()
Added `QueryInterface::emulateExecution()`, which allows preventing of
the actual query execution.
This allows to cancel `DataProvider` preventing search query execution
in case search model is invalid:

``` php
public function search($params)
    {
        $query = Item::find();

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);

        $this->load($params);

        if (!$this->validate()) {
            $query->where('0=1');
            $query->emulateExecution(); // No SQL execution will be done
            return $dataProvider;
        }
```

This also fix unecessary query in case of `via()` usage. See #12390.

fixes #12390
fixes #6373
close #12708
2016-12-02 13:28:51 +01:00
46da2df98d yii\db\mysql\Schema::loadColumnSchema sets enumValues attribute incorrectly if enum definition contains comma
(i.e. "enum('a','B','c,D')" -> ['a','B','c','D'] instead of expected ['a','B','c,D'])
2016-11-29 00:21:44 +02:00
a56c598743 Portability fixes for SchemaBuilder on MSSQL
Changed timestamp mapping to datetime on MSSQL.
Timestamp is a unique number on MSSQL, not a timestamp.

> https://msdn.microsoft.com/en-us/library/ms182776(v=SQL.90).aspx
> The timestamp data type is just an incrementing number and does not
> preserve a date or a time. To record a date or time, use a datetime data type.

separated from #9191
close #9305
2016-11-27 01:11:30 +01:00
3a6fbad561 phpDoc: Fix example for ActiveRelationTrait::via() (#13008) [skip ci] 2016-11-15 13:30:04 +03:00
7a3a342127 Fix errors reported by apidoc extension. (#12986) 2016-11-13 14:51:21 +01:00
6a4ea892c3 Added type mapping for varbinary data type in MySQL DBMS
Closes #11756
2016-11-12 17:34:20 +02:00
d28009843e #12950: Mentioned AttributeTypecastBehavior in AR afterSave() docs 2016-11-10 03:12:47 +03:00
7c7d751e67 Fixes #12015 Changed visibility yii\db\ActiveQueryTrait::createModels() from private to protected 2016-11-08 23:49:42 +03:00
4aa935e69e Fixes #12055: Changed boolean to bool and integer to int in phpdoc 2016-11-07 02:51:39 +03:00
32f4dc8997 Fixes #5385: links created from classes to corresponding guide articles (#12920) 2016-11-04 18:55:14 +03:00
3d9945958d Removed accidentally committed leftovers 2016-11-02 14:13:49 +03:00
dd71fa3958 Fixes #4113: Error page stacktrace was generating links to private methods which are not part of the API docs 2016-11-02 13:42:11 +03:00
71d083d499 Fixes #12816: Added columnSchemaClass option for yii\db\Schema which adds ability to specify custom \yii\db\ColumnSchema class 2016-10-24 14:36:42 +03:00
1433d8a017 added example for relation name to AR phpdoc
fixes #12802
2016-10-24 02:16:54 +02:00
3c1eb55f55 PHPDoc @return fix for insert() (#12757) [skip ci] 2016-10-17 16:36:25 +03:00
677b55475b Reverted accidental commit 2016-10-12 00:38:54 +03:00
2ffa670885 add functions for filtering 2016-10-12 00:07:45 +03:00
6100849e2f Documentation ActiveQueryInterface::one() (#12682)
* Documentation ActiveQueryInterface::one()

Currently there is an issue when using `BaseActiveRecord::findOne()` because it uses the return type for `ActiveQueryInterface::one()` which is inherited from `QueryInterface::one()` which returns `array|false`

https://scrutinizer-ci.com/g/yiisoft/yii2/issues/master/files/framework/db/BaseActiveRecord.php?selectedAuthors%5B0%5D=angeldelcaos%40gmail.com&orderField=path&order=asc&honorSelectedPaths=0

* null -> `null`
2016-10-11 15:00:45 +02:00
e7195da4b3 Fix yii\db\Query::having phpdoc [skip ci] 2016-10-04 21:24:52 +02:00
e6eed9a7c9 yii\db\mssql\QueryBuilder - TYPE_TEXT mapped to NVARCHAR(MAX) 2016-10-04 16:42:05 +03:00
7137d676fb Merge pull request #12663 from githubjeka/issue-11835
MSSQL: Fix to NTEXT is being deprecated
2016-10-04 13:23:10 +03:00
4d43ec3867 NTEXT is being deprecated in MSSQL 2016-10-04 10:23:04 +03:00
95152f3c2c Fixed consistency of indexBy handling for yii\db\Query::column()
Closes #12649
2016-10-03 11:17:32 +03:00
fb210b8839 Fixed typo in data type. Fixes #12599 2016-09-26 14:06:08 +03:00
3861108553 Fixed casting of binnary() type for MSSQL. Closes #12599 2016-09-26 13:41:27 +03:00
f696a28c79 display the table when dropping index
display the table, helping when dropping multiple indices with the same name
2016-09-16 19:56:08 +02:00
487b2cb439 make db\Connection phpdoc more clear
fixes #12429
2016-09-05 12:36:07 +02:00
f006db9b2b update docs of AR::update()
fixes #12461
2016-09-05 11:57:08 +02:00