Commit graph

1329 commits

Author SHA1 Message Date
ADmad
0750a63ed4 Make code DRYer. 2015-02-15 18:36:30 +05:30
ADmad
844b4beaa6 Reduced code nesting. 2015-02-15 16:30:43 +05:30
ADmad
54fe7ed204 Add method to get depth of tree's node.
Backported from 3.0.
2015-02-01 17:27:46 +05:30
Mark Scherer
611889235a Fix clear(). Add test cases. 2015-01-28 23:54:32 +01:00
Mark Story
35e0dc2bbd Merge pull request #5760 from cakephp/master
Merge master into 2.7
2015-01-27 20:48:15 -05:00
AD7six
5e89e893f2 Ignore counter cache also 2015-01-23 08:30:34 +00:00
AD7six
c0ee49fe88 Remove callbacks to speed up saving 2015-01-23 08:30:26 +00:00
AD7six
838d23300b Remove some exists checks by not validating 2015-01-23 08:29:59 +00:00
AD7six
51bd1d0a2b If a PDOException is thrown, try again.
This can occur if the exists check returns no rows, but before this
request inserts into the database a _different_ thread inserts a
session record.
2015-01-23 08:28:08 +00:00
Ceeram
9ce75e6fd6 No need to get the datasource if column is defined in schema. Fixes #5712 2015-01-22 00:46:55 +01:00
mark_story
511ee1f776 Fix strict error with 2.6 code. 2015-01-19 21:43:14 -05:00
mark_story
3078a1eb52 Merge branch 'master' into 2.7
Conflicts:
	lib/Cake/VERSION.txt
2015-01-16 22:22:26 -05:00
Mark Story
2a9f2d4b58 Merge pull request #5668 from cakephp/issue-5649
Fix numeric values not being quoted for MySQL set columns.
2015-01-15 21:29:57 -05:00
mark_story
d4a6d3f6c0 Fix numeric values not being quoted for MySQL set columns.
Set columns should always have their values quoted. Not quoting values
makes MySQL do bad things.

Refs #5649
2015-01-15 21:10:33 -05:00
David Steinsland
687d0b44f5 Backport of https://github.com/cakephp/cakephp/issues/5667 2015-01-15 11:00:27 +01:00
mark_story
ac9a212d44 Merge branch 'master' into 2.7
Conflicts:
	lib/Cake/Utility/String.php
2015-01-11 15:25:18 -05:00
antograssiot
c2f298a8b7 Replace our custom code fence with markdown standard fence 2015-01-09 13:47:25 +01:00
Mark Story
c4f9727720 Merge pull request #5576 from istvanp/2.7
Prevent NULL value on NOT NULL column when value is an empty string
2015-01-06 21:23:53 -05:00
Istvan Pusztai
22b0275a58 Prevent NULL value on NOT NULL column when value is an empty string (MySQL) 2015-01-05 12:04:24 -05:00
euromark
52ecccb1a2 App::uses and usage replacements for String => CakeText. 2015-01-05 01:00:57 +01:00
euromark
394da88d23 Stay 100% BC for 2.7 2015-01-04 10:52:18 +01:00
euromark
39e0ce415d Backport of 3.0 Session API hardening and clear(). 2015-01-04 01:40:09 +01:00
mark_story
4cd2c8fdcb Merge branch 'master' into 2.7 2015-01-03 14:34:55 -05:00
Mark Story
0a4cffc603 Merge pull request #5501 from cakephp/2.6-hotfix-session-tmp-dir
Also autocreate session folder in debug mode
2015-01-02 11:36:53 -05:00
Kaz Watanabe
e5fc1858f9 fix error at change type of text field to integer in PostgreSQL 2014-12-30 09:27:46 +09:00
mark_story
ec57fb4579 Fix length reflection in SQLServer
Don't reflect TEXT column lengths in SQLServer. Because SQLServer text
columns hold ~2GB of data there is no meaningful length to them.

Refs #5506
2014-12-29 16:47:50 -05:00
euromark
5aff618109 Also autocreate session folder in debug mode 2014-12-27 20:34:47 +01:00
Mark Story
7bbc3dfd90 Merge pull request #5470 from cakephp/2.7-session
Backport Session consume() to 2.x
2014-12-26 12:22:20 -05:00
euromark
813925abee Backport Session consume() 2014-12-23 03:39:05 +01:00
mark_story
c540e2b798 Merge branch 'master' into 2.6 2014-12-22 21:38:58 -05:00
Mark Story
484b114e9b Merge pull request #5384 from okinaka/fix-mysql-describe
2.5: Fixing Mysql::describe() for timestamp.
2014-12-21 21:27:27 -05:00
Rachman Chavik
45be270a7b Enable use of Containable with TreeBehaviors
This patch allows Containable use with:

- TreeBehavior::getParentNode()
- TreeBehavior::children()
- TreeBehavior::getPath()
2014-12-20 16:32:20 +07:00
mark_story
4d6611b328 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/VERSION.txt
2014-12-17 21:38:32 -05:00
OKINAKA Kenshin
8c008ad97d Update. 2014-12-11 13:55:41 +09:00
mark_story
cf108dbff3 Remove duplicate order key.
This was a mistake made in 4b6dba0.

Fixes #5376
2014-12-10 22:32:59 -05:00
OKINAKA Kenshin
5cff6aa746 Fixing Mysql::describe() for timestamp. 2014-12-11 10:31:19 +09:00
euromark
e1c128bb99 Consolidate with conditions sniff. 2014-12-09 03:17:35 +01:00
mark_story
ad2d6edda9 Merge branch 'master' into 2.6 2014-12-06 21:28:59 -05:00
Guy Warner
327fcb4846 Fix some missed doc block issues 2014-11-30 14:50:11 -07:00
Guy Warner
fb61d9393b Add @trigger doc blocks of methods triggering CakeEvent 2014-11-30 14:45:40 -07:00
mark_story
543f05e3d0 Merge branch 'master' into 2.6 2014-11-29 22:00:00 -05:00
euromark
d0f75a03af Allow RLIKE in conditions. 2014-11-26 19:56:58 +01:00
Stephen Cuppett
ffb7e86641 Enable sslmode for PostgreSQL connections
By default, PHP 5.5 and PostgreSQL PDO will not allow SSL connections. This adds the default of "allow", but also the user may override the setting to "require" or any of the other potential values. 

See: http://php.net/manual/en/function.pg-connect.php
2014-11-20 22:37:39 -05:00
mark_story
23c5805763 Fix mistake with previous commit.
I forgot to put the correct variable into the query like a doofus.

Refs #4168
2014-11-18 22:03:30 -05:00
mark_story
ddc3eee84c Use name() instead of hand quoting sequence names.
By using name() we can easily accomodate postgres sequences that exist
out side of sequences.

Fixes #4168
2014-11-17 22:47:07 -05:00
mark_story
decce4daf2 Merge branch 'master' into 2.6 2014-11-14 21:25:09 -05:00
Mark Story
f570f931ce Merge pull request #5159 from cakephp/issue-5155
Add order=>false to all treebehavior queries.

Refs #5155
2014-11-14 10:02:17 -05:00
mark_story
4b6dba0c0a Add order=>false to all treebehavior queries.
Models can define default order conditions that will cause issues with
postgres. By setting order=>false on all the queries emitted by
TreeBehavior, we can avoid this issue and not have issues with models
that define a default ordering.

Refs #5155
2014-11-13 21:21:47 -05:00
Bryan Crowe
e3e54d40fa Fix CS, remove extra space 2014-11-13 16:47:10 -05:00
mark_story
6092c168a9 Fix issues with sqlite field parsing.
The previous attempt would still fail on unions or derived table join
queries. This new approach is a bit slower but more robust.

Refs #3972
2014-11-12 20:49:19 -05:00
mark_story
93a6fd5648 Fix SQLite parsing fields incorrectly when using subqueries.
When using subqueries or joining against tables containing FROM the
results were bizzare and unexpected. By tokenizing the entire query we
can more accurately grab the fields.

Refs #3972
2014-11-11 23:16:08 -05:00
watermark
8712dc01df Cleanup of isUnique
isUnique takes the count of the args multiple times.  Store the count in a variable to cut down on overhead.
2014-11-11 16:13:16 -05:00
Mark Story
4242ce453f Merge pull request #5093 from cakephp/2.6-returns
Simplify return types.

Update code to use documented return types where possible, and reduce number of return types.
2014-11-08 14:58:22 -05:00
euromark
41c646c5a1 Simplification of return types. No need to return more mixed than necessary. 2014-11-08 20:07:47 +01:00
mark_story
0e4fb9d648 Merge branch 'master' into 2.6 2014-11-07 15:13:46 -05:00
mark_story
dac8b7b644 Update return type for Model::saveField().
Fixes #5086
2014-11-05 20:37:43 -05:00
euromark
345a18f15f Merge branch 'master' into 2.6 2014-11-05 23:29:06 +01:00
euromark
0d5d6b19b5 Wording correction. 2014-11-05 13:14:45 +01:00
euromark
768f2c809c Correct doc block return types. 2014-11-05 13:03:27 +01:00
mark_story
48101e6bf5 Merge branch 'master' into 2.6 2014-11-04 22:44:11 -05:00
Mark Story
96b82e4226 Merge pull request #5021 from dereuromark/master-mysql
Fix IN replacement in virtual fields for MYSQL.
2014-11-04 08:24:03 -05:00
mark_story
579b16d90b Merge branch 'master' into 2.6 2014-10-30 21:20:53 -04:00
Mark Story
a8c5b70b22 Merge pull request #4489 from busgurlu/patch-1
to correctly return SET() type
2014-10-30 19:56:47 -04:00
euromark
e5b45bcdea Fix IN replacement in virtual fields for MYSQL. 2014-10-30 19:14:04 +01:00
mark_story
4b5783c5fe Add deterministic ordering to translate associations.
Having a deterministic ordering based on the primary key resolves
tests potentially failing when postgres returns data in a non-sequential
order.
2014-10-24 22:21:06 -04:00
Marc Würth
2ad181b6e1 Now the tableParameters array gets escaped through values(), too 2014-10-16 19:10:52 +02:00
Marc Würth
84b0fe1c88 Added comment to $tableParameters array 2014-10-16 16:06:33 +02:00
mark_story
1c440e2cb2 Merge branch '2.6' of github.com:cakephp/cakephp into 2.6 2014-10-13 21:11:52 -04:00
mark_story
87fcc9f0b9 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/VERSION.txt
2014-10-13 21:11:38 -04:00
mark_story
50b3893e65 Make rule sniff less complicated and tidy up doc block.
Refs #4871
2014-10-13 17:59:31 -04:00
Rachman Chavik
dcb605c700 Possible fix for isUnique backward compatibility 2014-10-13 19:46:10 +07:00
ADmad
6dc98afa1e Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/VERSION.txt
2014-10-12 20:20:14 +05:30
ADmad
ecf030796b Fix docblock 2014-10-11 19:37:22 +05:30
Ceeram
1dfd3405a4 TranslateBehavior now uses original atomic option value, if set 2014-10-10 14:17:16 +02:00
mark_story
39011cd9d8 Fix Model::isUnique() not working as a validator.
While it *did* work for single fields, isUnique could not be used to
validate the uniqueness across multiple fields as documented. Because
validation methods pass arguments in an order the validator did not
expect the validation method would not work correctly.

Fixes #4571
2014-10-09 22:49:17 -04:00
ADmad
94e718372a Make CakeSession::read() return null for all failure cases. 2014-10-09 19:27:27 +05:30
suzuki86
e4c0dee6ee Fix small typo 2014-10-08 23:37:38 +09:00
mark_story
af43bc1706 Merge branch 'master' into 2.6 2014-09-25 22:39:51 -04:00
mark_story
1877cab341 Fix UUID primary key columns not being reflected properly.
When UUID columns are converted into varchar(36) they should also be
default = null, null = false.

Fixes #4695
2014-09-23 22:16:18 -04:00
mark_story
0d11cf7a33 Merge branch 'master' into 2.6 2014-09-14 23:26:33 -04:00
mark_story
9e4446fe5f Trim whitespace from columns before checking for operators.
Fixes #4599
2014-09-13 21:50:35 -04:00
ADmad
3fb252ad2f Merge branch 'master' into 2.6 2014-09-13 00:37:16 +05:30
euromark
e3dc51bb68 Manually correct remaining casts. 2014-09-10 16:40:22 +02:00
euromark
04ef39217f Take care of more int casts. 2014-09-10 16:29:23 +02:00
euromark
e77f96d8b7 Use (int) cast instead of intval() function for performance reasons and to unify it. 2014-09-10 15:52:57 +02:00
mark_story
734bb9223b Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Core/App.php
	lib/Cake/VERSION.txt
2014-09-06 23:04:20 -04:00
Burak USGURLU
996ad04b95 to correctly return SET() type 2014-09-04 18:07:30 +03:00
Mark Story
f82fd2d982 Merge pull request #4463 from ravage84/deprecated-annotaions
Update all @deprecated annotations
2014-09-04 08:48:45 -04:00
José Lorenzo Rodríguez
b5bfbfcf15 Merge pull request #4223 from chinpei215/2.6-issue2529-fix
Fix different format of $results in afterFind
2014-09-03 10:39:37 +02:00
mark_story
638d2ea7b6 Add array cast for method_cache data.
Fixes #4186
2014-09-02 22:39:28 -04:00
Marc Würth
67ba9cb406 Update all @deprecated annotations
to adhere to the @deprecated <version> <description> format, where version and description are mandatory.
2014-09-02 17:03:22 +02:00
ADmad
d60cd3ab2f Revert "Merge pull request #4405 from php-engineer/master-session-bugfix"
This reverts commit 5863adda42, reversing
changes made to 4c37cf6d4b.

There was no real issue. The lack of session cookie in CLI makes writing
tests a bit tricky which caused the confusion. Refs #4405, #4451.
2014-09-01 00:17:53 +05:30
mark_story
7c316bbc56 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/basics.php
2014-08-30 21:28:11 -04:00
Jeremy Harris
2dac6d29c2 Clearing HABTM (unique) when HABTM array is empty, refs #2461 2014-08-28 17:52:13 -05:00
chinpei215
31204832c2 Ensure that afterFind is called when using 'joins' with 'recursive' = -1 2014-08-27 15:16:13 +09:00
chinpei215
b74774bb0c hasOne/belongsTo associations should contain associated records in afterFind
Before 1fe943d6f1,
afterFind() is called twice with belongsTo/hasOne associations.
Although $results also doesn't contain associated records on first time,
it contains them on second time.

After 1fe943d6f1,
it doesn't work if associated records are used in afterFind.
This commit fixes it.
2014-08-27 09:32:00 +09:00
Stefan Dickmann
66ccfaf5e2 session bugfix 2014-08-26 17:47:45 +02:00
mark_story
7936b5e764 Fix CURRENT_TIMESTAMP being stored as a default value.
When reflecting timestamp columns in MySQL current_timestamp comes back
as the default value. This causes insertion errors later on as
'current_timestamp' is an invalid value for timestamp columns.

Refs #4184
2014-08-25 11:17:11 +02:00
ADmad
9d53a1e9ce Merge branch 'master' into 2.6 2014-08-15 12:37:13 +05:30
Brian Porter
5c69ac5578 All CakeSchema doc blocks conform to coding standards.
As laid out here: http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html#typehinting
2014-08-12 12:55:55 -05:00
Brian Porter
4a0f42e179 Doc block capitalization corrections as requested. 2014-08-12 10:48:12 -05:00
Brian Porter
9b9600fe18 CakeSchema naming fallback.
Abstracts the `require_once` of the schema file so it can be done twice. The added second call is a fallback for the previous APP_DIR-based naming to provide backwards compatibility.

Removes now-obsolete CakeSchema tests that involved `Configure::read('App.dir')`. The CakeSchema::name is now always static (and predictable) in the default case.
2014-08-11 10:40:57 -05:00
Brian Porter
be9be48c46 More predictable default for CakeShema class naming.
Instead of using the `APP_DIR` constant, which may change between developer installations of a project and cause issues loading Schemas generated elsewhere, use a fixed string, 'App'.

This is related to CakeDC/migrations#184 and should fully resolve #4174.
2014-08-11 09:12:16 -05:00
chinpei215
c246695518 Fix different format of $results in afterFind
Refs #2529

As of this commit, we can get consistent format of $resutls in afterFind.
And we can keep backward compatibility if Model::$useConsistentAfterFind is set to false.
2014-08-11 01:19:40 +09:00
chinpei215
c227c14bf2 Fix afterFind() called twice with hasMany relationship
It occurs when a model and the children models are related to a same model.
For example, such as the following:

* User hasMany Comment
* User hasMany Article
* Article hasMany Comment
2014-08-11 00:12:03 +09:00
mark_story
9c3089796f Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Model/Model.php
2014-08-08 23:28:06 -04:00
mark_story
d114fa1431 Update join building to not error out on empty conditions.
When conditions are empty we can assume one of two things:

* The person made a mistake.
* The person is doing the join conditions in the where clause.

In both cases we should attempt to generate proper SQL.

Fixes #4189
2014-08-08 10:02:09 -04:00
Mark S.
2471c64aae Merge pull request #4158 from dereuromark/master-cakesession-hotfix
Fix notice in CakeSession.
2014-08-06 18:25:55 +02:00
José Lorenzo Rodríguez
64e74cbaac Merge pull request #4175 from chinpei215/master-issue2268-fix
Fix afterFind() called twice with belongsTo and hasOne relationships
2014-08-06 10:48:45 +02:00
chinpei215
1fe943d6f1 Fix afterFind() called twice with belongsTo and hasOne relationships
Refs #2268
2014-08-06 07:27:04 +09:00
euromark
864f5e06f6 Fix notice in CakeSession. 2014-08-04 13:32:20 +02:00
chinpei215
cb376bf420 Add some more transaction tests
And remove 2 else clauses.
2014-08-03 22:34:11 +09:00
ADmad
713f430fc4 Merge branch 'master' into 2.6 2014-08-03 01:05:36 +05:30
chinpei215
799500ce6d Fix transactions do not get rollbacked in saveAssociated/saveMany
Refs #2849
2014-08-02 10:12:33 +09:00
Anthony GRASSIOT
aa42b80a4d a / an typo fixes fot API 2014-07-30 22:11:03 +02:00
Ceeram
02b8bce641 Fix cs error introduced after resolving merge conflict with master to 2.6 2014-07-21 14:01:43 +02:00
mark_story
051d78c1a5 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Model/Model.php
2014-07-16 23:11:58 -04:00
chinpei215
ace30fdd8a Fix a race condition problem
Prevents Model::save() from generating a query with WHERE 1 = 1 on race condition.

Refs #3857
2014-07-12 23:27:39 +09:00
mark_story
03c2a8b722 Unify datetime column default values between MySQL and Postgres.
Datetime columns should have 'default' => null, in both Postgres and
MySQL.

Fixes #3837
2014-07-11 23:10:16 -04:00
mark_story
9fd1a51a52 Merge branch 'master' into 2.6 2014-07-10 14:39:32 -04:00
David Yell
79be5e6805 Update Model.php
Fixed the case on the link to the book, to match the anchor in the page.
2014-07-10 10:46:48 +01:00
mark_story
3a70d9c033 Merge branch 'master' into 2.6 2014-07-09 10:17:05 -04:00
Ceeram
a266a9493d minor optimisation, refs comments on 81875cfeb1 2014-07-04 17:25:41 +02:00
mark_story
765be87d88 Overwrite the schemaName property if it is not defined in the class.
If a model class does not define a schemaName we should use the
datasource's schemaName. We can assume that people using schemaName want
to lock the model onto a specific schema given the changes in #3210

Fixes #3720
2014-07-03 21:53:54 -04:00
ADmad
e410501791 Fix CS errors. 2014-07-03 23:13:55 +05:30
mark_story
2bcd817367 Merge branch 'master' into 2.6 2014-07-03 11:13:06 -04:00
euromark
974ca851c2 Correct doc blocks according to cs guidelines.
Remove superfluous empty lines.
2014-07-03 15:36:42 +02:00
mark_story
b1610c145e Merge branch 'master' into 2.6 2014-07-02 23:39:16 -04:00
mark_story
33a5b6e451 Fix additional missing API doc tags. 2014-07-02 23:38:34 -04:00
mark_story
91721244a4 Fix more doc block errors in lib/ 2014-06-27 22:58:34 -04:00
Mark Story
e9da7b8f80 Merge pull request #3596 from zeroasterisk/2.6
MySQL DbdSource alter field support 'after'
2014-06-25 23:10:29 -04:00
mark_story
a2673d8bf0 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Core/App.php
2014-06-25 09:22:10 -04:00
euromark
b3507b199a Update doc blocks regarding return $this 2014-06-25 00:06:51 +02:00
Anatoliy Petrovskiy
ad678e3988 improving acl perfomance 2014-06-23 13:51:52 +03:00
Anatoliy Petrovskiy
bb15271622 improving acl perfomance by adding indexes on acl tables and reorganization joins in getting acl node function 2014-06-20 20:49:02 +03:00
mark_story
8e14b2f807 Merge branch 'master' into 2.6 2014-06-11 23:05:59 -04:00
Bryan Crowe
d8b4c3967c Fix typo 2014-06-10 23:31:42 -04:00
ADmad
0b4ba0b049 Fix api docblocks for behaviors. 2014-06-10 00:38:44 +05:30
mark_story
146053c980 Update datasource API docs. 2014-06-06 14:06:32 -04:00
José Lorenzo Rodríguez
932bf47481 Merge pull request #3604 from Haititi/2.6-save-atomic
2.6 add 'atomic' option to "save()" API - delivery
2014-06-05 13:55:52 +02:00
ADmad
1d40f3e685 Fix API docblock CS errors. 2014-06-05 00:28:55 +05:30
Haithem BEN GHORBAL
31615ce415 add 'atomic' option to "save()" API
This commit adds a transaction context to 'save()' API in order to rollback
possible modifications done in some 'Model.beforeSave' listener callback.
This will allow cakephp 2.x to behave like 3.0 .
It uses try/catch to better handle transaction.
Previous save() API is renamed to protected _doSave() method.
A new save() method is created for transaction handling.
'atomic' option is disabled for internal 'save()' call.
2014-06-03 09:37:17 +02:00
mark_story
92eeef8ae0 Merge branch 'master' into 2.6 2014-06-02 22:57:25 -04:00
ADmad
e7debd8692 More API docblock CS fixes. 2014-06-02 18:27:11 +05:30
Stefan Dickmann
91907b5c6c correct docblock
invalid certificate domain
2014-06-01 13:23:47 +02:00
ADmad
3d9b2b80cb More API docblock fixes. 2014-06-01 03:06:05 +05:30
alan bount
c273ed8d2c MySQL DbdSource alter field support 'after'
The ALTER FIELD for MySQL should support 'after' just like the ADD FIELD
2014-05-29 11:06:44 -04:00
Haithem Ben Ghorbal
35c2a7ef31 restore previous (erroneous ?) behaviour 2014-05-29 02:36:13 +02:00
Haithem Ben Ghorbal
67af8b37db clean code and remove unneeded checks 2014-05-28 23:53:47 +02:00
Haithem BEN GHORBAL
d4a0883cb9 fix typo/coding style 2014-05-28 18:31:03 +02:00