Commit graph

1122 commits

Author SHA1 Message Date
Kenshin Okinaka
91cb3ddc27 Unset $db in DboSource::read().
After calling $db->queryAssociatin(), it is necessary to unset db. 
This reverts commit 52d425737a.
2014-05-13 21:17:34 +09:00
mark_story
89cd114e6f Merge branch 'master' into 2.5 2014-05-12 14:30:02 -04:00
Stephen Cuppett
ed83df5bed Fixes #3469, explicit isset check for counterCache 2014-05-11 19:17:18 -04:00
Walther Lalk
2dd3cecfaa Fixes issue with Sql Server driver when loading fixtures
Sqlserver::describe is expecting a model object (Unlike other drivers which work with either a object or string). While this does work under normal conditions, it causes a "Trying to get property of non-object" notice when using fixtures. The same problem also causes the testLimitOffsetHack test to fail.

This change does a simple test to ensure that the $model variable is an object before trying to access a property of it. All SqlServer tests are now passing.
2014-05-06 12:43:36 +02:00
ADmad
d466e00644 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/Model/Datasource/DboSource.php
	lib/Cake/Test/Case/Model/Datasource/Database/MysqlTest.php
	lib/Cake/Utility/Folder.php
	lib/Cake/VERSION.txt
2014-05-04 14:35:36 +05:30
euromark
7a287a6942 More coding standard corrections. 2014-04-29 14:19:33 +02:00
mark_story
de0062de77 Merge branch 'master' into 2.5 2014-04-25 22:10:02 -04:00
mark_story
9d19801cfa Clear data and validationErrors *after* calling clearCache().
Having both properties cleaned after clearCache() means that you can use
the model data in specialized clearCache() implementations.

Fixes #3386
2014-04-24 09:19:00 -04:00
mark_story
d54fbe6f60 Merge branch 'master' into 2.5 2014-04-18 22:13:56 -04:00
Mark Story
d2fa1b444f Merge pull request #3301 from ubermaniac/Sqlserver-trim
Trim $sql before checking for SELECT
2014-04-11 18:48:41 -04:00
Joseph Woodruff
9aeea2fcc3 Trim $sql before checking for SELECT 2014-04-11 15:25:07 -06:00
mark_story
bf9c3029cb Merge branch 'master' into 2.5 2014-04-10 20:51:49 -04:00
euromark
8e0f15b3d6 Revert the removal of a BC relevant part. 2014-04-10 20:11:58 +02:00
euromark
0ece694a75 microptimize options and default merge and other string key array merges 2014-04-08 01:25:14 +02:00
euromark
cb0ac6f9f3 Add a note to offsetSet() on why it cannot chain. 2014-04-06 22:59:18 +02:00
Joseph Woodruff
8536371501 Sqlserver Datasource how properly appends the schemaName prefix in the describe() method 2014-04-02 13:59:04 -06:00
Joseph Woodruff
d526fdadc1 Base model class no longer changes an already defined schemaName value 2014-04-02 13:58:29 -06:00
mark_story
2fe8c4050b Insert manual joins *after* generated joins.
Re-order query joins to make manually added joins be performed after
generated joins. This removes the need to workaround the current join
order, or redefine all association joins when you want to add an
additional join on a leaf table.

Refs #2179
Refs #2346
2014-03-23 21:09:08 -04:00
mark_story
8acb75425d Merge branch 'master' into 2.5
Conflicts:
	CONTRIBUTING.md
	lib/Cake/Model/Datasource/DboSource.php
2014-03-21 22:55:28 -04:00
James Watts
2eadb89ff6 Update in_array() check to avoid fatal error
Enabling the $strict parameter to true avoids PHP's default behavior when search for an array in an array, which throws a fatal error if circular references exist - http://php.net/in_array#refsect1-function.in-array-parameters
2014-03-21 16:16:32 +01:00
ADmad
961f9d7669 Merge branch 'master' into 2.5 2014-03-16 20:17:24 +05:30
Wouter van Dongen
5035613157 * Fixed bug where select query in deleteAll could return wrong table name.
PDOStatement::getColumnMeta (in mysql.php) sometimes returns the actual
table name when using a MySQL view with the distinct select query, and not
the alias table name. By returning the actual table name the records
could not be removed.
By the way PDOStatement::getColumnMeta is an experimental function,
perhaps it's better to avoid it.
2014-03-14 15:20:12 +01:00
mark_story
3a226b03c3 Remove typehint from generateAssociationQuery()
While I think typehints are generally a good idea, this one broke a few
plugins, notably CakeDC/search. I don't think it is wise for 2.X release
to break BC in that way. I think reverting this change is probably the
safest path right now.
2014-03-12 23:42:21 -04:00
mark_story
5a944734b8 Remove typehint on $LinkModel argument.
Adding a typehint here causes errors in a few userland plugins. We
should honor the previous interface as best we can.
2014-03-12 23:30:46 -04:00
Mark Story
fda242f000 Merge pull request #2961 from ovidiupruteanu/patch-3
Sqlserver->describe failing for models with a schemaName
2014-03-11 21:03:54 -04:00
mark_story
c5b6dda82f Merge branch 'master' into 2.5 2014-03-11 21:02:27 -04:00
Thomas Smith
4927cf6901 #2994, unnecessary calls to Model::__isset(null) 2014-03-10 10:16:32 -07:00
ovidiupruteanu
7b1086e632 Add missing spaces 2014-03-06 05:18:31 +02:00
ovidiupruteanu
56a3f093a1 Sqlserver->describe failing for models with a schemaName
When models have a schemaName set it was searching for TABLE_NAME = 'schema_name.table_name'.
Instead it should search for TABLE_NAME = 'table_name' AND TABLE_SCHEMA = 'schema_name'
2014-03-06 04:54:03 +02:00
mark_story
2c5d96e916 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/Model/Datasource/DboSource.php
2014-02-16 14:24:19 -05:00
mark_story
96a37d5917 Fix temporary associations that replace fields not being restored.
When binding temporary associations, fields should be restored
in the afterFind as the association will have become unbound.

Fixes #2816
2014-02-11 21:56:05 -05:00
mark_story
a5d50da040 Remove dead and unused code. 2014-02-11 16:38:24 -05:00
ADmad
9de3418079 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/Model/Permission.php
2014-02-11 18:17:59 +05:30
Eric Martins
2793dca671 Fix ApiGen errors 2014-02-07 18:29:54 -02:00
Jimmy Madon
fcd41e45a7 Clarified ACL node lookup failed error.
Original error was ambiguous in stating whether the ARO node lookup failed or the ACO node lookup failed.
2014-02-05 18:25:14 +00:00
mark_story
be8ebfc005 Merge branch 'master' into 2.5 2014-02-05 09:22:46 -05:00
José Lorenzo Rodríguez
e36c954da7 Merge pull request #2693 from ADmad/2.5-session-start
Don't start a session if it's known to be empty.
2014-02-01 04:08:48 -08:00
Rachman Chavik
59549b7ebe Fix: Changing boolean to integer for Postgres
Closes #2751, CakeDC/migrations#149
2014-01-31 15:14:20 +07:00
mark_story
c1ab6fa9d1 Merge branch 'master' into 2.5 2014-01-30 10:13:37 -05:00
joostdekeijzer
987187ef8c Fix #2721 in TranslateBehavior::beforeFind() supporting both Model::field('fieldname') and Model::read('fieldname') 2014-01-29 13:37:47 +01:00
Rachman Chavik
b83b59a9d7 Log errors instead of calling trigger_error() 2014-01-29 17:51:07 +07:00
ADmad
c093804b35 Merge branch 'master' into 2.5 2014-01-26 17:39:50 +05:30
mark_story
d7d8fc00d1 Check data with isset() before accessing it.
Don't blindly access data that may not exist.

Fixes #2712
2014-01-25 22:15:47 -05:00
ADmad
4407cdb010 Avoid code duplication. 2014-01-22 11:36:45 +05:30
ADmad
84932fcc4a Don't start a session if it's known to be empty.
If an app only reads/checks the session there's no need to start a
session to know that the read/checked session value is empty.

Fixes #1981
2014-01-22 01:17:16 +05:30
mark_story
55e1619c59 Fix issue with find(count) and TranslateBehavior.
Fixes #2667
2014-01-18 21:54:09 -05:00
mark_story
75dd2ff1fb Merge branch 'master' into 2.5 2014-01-16 15:20:40 -05:00
mark_story
3763350667 Add test for issue #2595
Fold conditions that did the same thing and add a test case.

Closes #2595
2014-01-06 21:21:13 -05:00
Raffaele
a4f138813b Return value if value are 0
Save correctly if the value is 0, but after the find is returned as an empty string.
2014-01-03 15:46:09 +01:00
mark_story
3cee3b0e99 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/VERSION.txt
2013-12-30 21:28:22 -05:00
Stephen Cuppett
ed749fdc97 Must double quote the schema name in query
Schema names with reserved words such as "create" will fail this query without double quotes. 

Attempted prepared statement with ? placeholder. This failed with the following CakePHP error:

Error: A Database connection using "Postgres" was missing or unable to connect.	
The database server returned this error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "$1" LINE 1: SET search_path TO $1 ^
2013-12-29 21:43:56 -05:00
Rachman Chavik
c4f8289b53 Fix test by checking against an empty array instead of false 2013-12-27 12:37:39 +07:00
Ber Clausen
f30b43b4c9 Update documentation and typehint. 2013-12-21 22:02:45 -03:00
Ber Clausen
c15f7de164 Re-expose DboSource::fetchAssociated() for BC.
Internally use protected methods to fetch hasMany and hasAndBelongsToMany
associations.
2013-12-21 11:34:40 -03:00
Ber Clausen
5ccb77e25d Be consistent with the result set variable name. 2013-12-21 10:57:40 -03:00
Ber Clausen
0adc062cfa Process query only when needed. 2013-12-21 10:57:40 -03:00
Ber Clausen
422be67a03 Avoid recalculating whether the relationship is a self join. 2013-12-21 10:57:40 -03:00
Ber Clausen
86b69964ef Be more semantic with variable names.
Isue less loockups for deep arrays.
A bit of documentation added.
2013-12-21 10:57:40 -03:00
Ber Clausen
7a378c3b22 Conveniently fetch hasAndBelongsToMany associations from within a function (like hasMany).
Variable names should represent their values.
Remove unnecessary references.
2013-12-21 10:57:38 -03:00
Ber Clausen
60a8f0900b Get Model associations only when needed. 2013-12-21 10:49:22 -03:00
Ber Clausen
8355d32bb1 Be more semantic indicating that association fields must be empty. 2013-12-21 10:49:22 -03:00
Mark Story
99c8503578 Merge pull request #2518 from bar/2.5-dbosource-getconstraint
Document DboSource::getConstraint().
2013-12-21 05:43:52 -08:00
Ber Clausen
5860cd4b8e Still more documentation. 2013-12-21 07:04:45 -03:00
Ber Clausen
c5c8cb80ba Document DboSource::getConstraint().
Also, update the function signature (to be compliant with other
functions) and type hint $LinkModel.
2013-12-21 06:24:23 -03:00
Ber Clausen
09188cc3d0 More documentation. 2013-12-21 06:11:31 -03:00
Ber Clausen
c1cdf190e3 Add documentation. Strict check. 2013-12-21 05:41:23 -03:00
Ber Clausen
1bdb783f91 Update documentation. 2013-12-21 05:39:42 -03:00
mark_story
7e5c0f7185 Merge branch 'master' into 2.5 2013-12-20 14:15:35 -05:00
mark_story
df4b978ce4 Clarify the docs for DboSource::fetchAll()
Refs #2508
2013-12-19 17:39:44 -05:00
OKINAKA Kenshin
3433e10fbd Fix Postgres for bigint primary key. 2013-12-18 14:58:18 +09:00
mark_story
01be15d654 Don't always wipe a Model's _schema property when calling setSource()
Only wipe the internal schema cache if listSources() returned a useful
list of sources. Otherwise retain the old schema. This lets datasources
that don't implement listSources to be combined with models that define
static schema properties.

Fixes #2467
2013-12-16 14:42:21 -05:00
mark_story
c2b8778ce8 Merge branch 'master' into 2.5 2013-12-14 17:45:49 -05:00
Ber Clausen
2d67604182 Add more Model type hints, and ease the model testing replacing is_object() for '!== null'. 2013-12-10 00:20:12 -03:00
Ber Clausen
63a192ea39 Update DboSource::group():
* Update documentation.
* Add Model type hint.
* Bail early when fields are empty.
2013-12-10 00:18:19 -03:00
Ber Clausen
5c595b90d2 Remove is_object() calls when the test subject is already type hinted as a Model. 2013-12-10 00:18:18 -03:00
Ber Clausen
2f24de81cb Model objects should be in CamelCase.
Add a Model type hint.
2013-12-10 00:18:18 -03:00
Mark Story
19122414fc Merge pull request #2459 from bar/2.5-patch
Test for self join only when needed.
2013-12-09 18:55:31 -08:00
Ber Clausen
b7527c6c3b Test for a self join only when needed. 2013-12-09 23:11:42 -03:00
Ber Clausen
2366e7c7b5 Make getConstraint() a tiny bit more readable. 2013-12-09 22:25:03 -03:00
José Lorenzo Rodríguez
6358741944 Merge pull request #2449 from cakephp/fix-session-cyclic-error
Fixed error in CakeSession that would call start() in an infinite loop
2013-12-09 02:18:21 -08:00
mark_story
48d2618c62 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/Routing/Router.php
2013-12-08 21:25:59 -05:00
Jose Lorenzo Rodriguez
70d5c37834 Ensuring session is configured before trying to destory it 2013-12-08 13:44:16 +01:00
Rachman Chavik
2d5a153c0d Set 'order' to false to prevent issues with postgres
See: https://github.com/cakephp/cakephp/pull/2421#issuecomment-30074971
2013-12-08 16:40:22 +07:00
Jose Lorenzo Rodriguez
848a0ce217 Fiexed error in CakeSession that would call start() in an infinite loop
when the session is marked as invalid
2013-12-07 22:25:33 +01:00
ADmad
f3900e89fd Fixed bug where deleteAll tried to delete same id multiple times.
Ensure find done in deleteAll only returns distinct ids. A wacky
combination of association and conditions can sometimes generate
multiple rows per id.
2013-12-03 22:18:17 +05:30
mark_story
97ab2c0e9b Merge branch 'imsamurai-2.5' into 2.5
Add unsigned integer support to MySQL. Unsigned integers have not been
added to other databases as they either do not support them (postgres,
sqlserver) or they are 'faked' and don't do anything (sqlite).

Fixes #2321
2013-11-27 20:12:28 -05:00
José Lorenzo Rodríguez
edc6fc6701 Merge pull request #2379 from rspenc29/2.5
Added support for passing additional flags to mysql connection
2013-11-24 01:07:58 -08:00
Rob Spencer
b8e32dd2b3 Adding flags override to additional pdo drivers 2013-11-24 01:04:17 -05:00
Rob Spencer
cda9320e96 Added support for passing additional flags to mysql connection 2013-11-24 00:47:06 -05:00
mark_story
71312932e8 Merge branch 'master' into 2.5 2013-11-21 21:46:21 -05:00
José Lorenzo Rodríguez
df5fc2304a Merge pull request #2289 from bar/2.5-optimize-dbosource
First part of the DboSource cleanup.
2013-11-21 01:02:36 -08:00
mark_story
1be40d5d64 Fix coding standards error.
Refs #2364
2013-11-19 18:36:52 -05:00
mark_story
ec38ee1c48 Only enable cacheSources if both the datasource + model agree on it.
This prevents models from flipping cacheSources on when the datasource
has it disabled already.

Refs #2364
2013-11-19 17:36:20 -05:00
mark_story
99fd6e40fe Leave db->cacheSources unaltered.
When a model uses cacheSources = false, it should not have side effects
on the datasource.

Fixes #2364
2013-11-19 15:06:55 -05:00
imsamurai
f817beb8b6 change method public unsigned to protected _unsigned 2013-11-19 10:55:44 +02:00
ADmad
dda6080579 Merge branch 'master' into 2.5 2013-11-19 00:27:12 +05:30
imsamurai
8bcfe452da not add unsigned to not numeric fields, fix broken test, add new test 2013-11-17 23:10:53 +02:00
imsamurai
2f6122cb01 add unsigned property in Model::describe 2013-11-17 22:37:01 +02:00
imsamurai
00fb663f90 remove numeric from unsigned config 2013-11-17 21:23:13 +02:00
imsamurai
1d9ecc6c94 Merge upstream/2.5 into 2.5 2013-11-17 21:13:25 +02:00