Graeme Tait
8fae10a971
Set DboSource::$_connection to null on disconnect
2015-09-21 14:05:56 +01:00
Mark Scherer
97b6f8674c
Fix CS
2015-09-21 13:45:18 +02:00
paolo
a7b5f8c3af
DboSource now check the actual status of connection by executing a dumb query on DB
...
This change makes it possible for developer to build reconnection logic
on MySQL connections which frequently time out in long running CLI
processes.
Cherry picked onto 2.7 from #7190 .
2015-08-07 21:59:28 -04:00
Mark Scherer
52e79987a2
Replacing self with static due to PHP5.3+. Following #7040 .
2015-07-21 10:22:53 +02:00
mark_story
47378427e3
Merge branch '2.6' into 2.7
2015-07-11 21:25:26 -04:00
mark_story
65c1745349
Add missing parameter to rawQuery()
...
Previously bound parameters were put in the incorrect position.
Refs #6992
2015-07-10 12:56:49 -04:00
mark_story
d7d8b90986
Merge branch '2.6' into 2.7
2015-05-28 19:34:59 -04:00
mark_story
52a0d642ec
Fix incorrectly quoted table aliases in virtual fields.
...
DboSource::_quoteFields() is already a bit of a mess, and while I'm not
happy about having to add more regex replacement, it seems to be the
only reasonable solution given that the code is already 'parsing' SQL
to apply identifier quoting.
Fixes #6602
2015-05-20 22:40:47 -04:00
mark_story
096a2ebb72
Merge branch '2.6' into 2.7
...
Conflicts:
lib/Cake/Test/Case/TestSuite/ControllerTestCaseTest.php
lib/Cake/VERSION.txt
2015-04-20 15:42:54 -04:00
mark_story
b2958dad79
Re-add call to parent destructor.
...
In 762ebd4
a destructor was added to DboSource, this accidentally
removed the rollback on destruct that Datasource provides. Restoring
this via a parent call allows pending transactions to be rolled back at
the end of a request.
Fixes #6251
2015-04-01 20:37:06 -04: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
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
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
mark_story
4d6611b328
Merge branch 'master' into 2.6
...
Conflicts:
lib/Cake/VERSION.txt
2014-12-17 21:38:32 -05:00
euromark
e1c128bb99
Consolidate with conditions sniff.
2014-12-09 03:17:35 +01:00
euromark
d0f75a03af
Allow RLIKE in conditions.
2014-11-26 19:56:58 +01:00
mark_story
48101e6bf5
Merge branch 'master' into 2.6
2014-11-04 22:44:11 -05:00
euromark
e5b45bcdea
Fix IN replacement in virtual fields for MYSQL.
2014-10-30 19:14:04 +01:00
mark_story
87fcc9f0b9
Merge branch 'master' into 2.6
...
Conflicts:
lib/Cake/VERSION.txt
2014-10-13 21:11:38 -04:00
ADmad
ecf030796b
Fix docblock
2014-10-11 19:37:22 +05:30
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
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
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
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
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
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
chinpei215
1fe943d6f1
Fix afterFind() called twice with belongsTo and hasOne relationships
...
Refs #2268
2014-08-06 07:27:04 +09:00
Anthony GRASSIOT
aa42b80a4d
a
/ an
typo fixes fot API
2014-07-30 22:11:03 +02: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
euromark
974ca851c2
Correct doc blocks according to cs guidelines.
...
Remove superfluous empty lines.
2014-07-03 15:36:42 +02:00
mark_story
33a5b6e451
Fix additional missing API doc tags.
2014-07-02 23:38:34 -04:00
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
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
euromark
8e0f15b3d6
Revert the removal of a BC relevant part.
2014-04-10 20:11:58 +02: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
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
2c5d96e916
Merge branch 'master' into 2.5
...
Conflicts:
lib/Cake/Model/Datasource/DboSource.php
2014-02-16 14:24:19 -05:00
mark_story
a5d50da040
Remove dead and unused code.
2014-02-11 16:38:24 -05: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
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
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
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
ADmad
dda6080579
Merge branch 'master' into 2.5
2013-11-19 00:27:12 +05:30
imsamurai
7bc8dac453
fix phpcs errors
2013-11-14 02:19:41 +02:00
imsamurai
2fcb4c3c6c
- change check to strict for options
of $fieldParameters
...
- add `types` parameter and strict check if it present in `$fieldParameters` (if it present and not contain column type field parameter will be skipped)
- add `noVal` parameter to `$fieldParameters` if it present and not empty value of this parameter from column will be ignored
- add `unsigned` column type for integer, float and biginteger. If it set to `true` an 'UNSIGNED' will be add in sql column part, if not set or set not to `true` this parameter will be skipped
2013-11-14 01:11:30 +02:00
Marc Würth
7cfa0116f4
Removed "PHP 5" from file header DocBlocks
...
This statement does not serve a purpose anymore.
In a long forgotten world it indicated the main version number of PHP which the code in the file was compatible to.
http://pear.php.net/manual/en/standards.sample.php
But since PHP 5.1 and later this is only marginally true.
Thus I propose to remove it from CakePHP.
2013-11-13 22:58:39 +01:00
Ber Clausen
ed142d8c89
Add missing type hints.
2013-11-13 00:09:45 -03:00
Ber Clausen
0e74a0757a
Keep insertQueryData() DRY, issue less lookups. Remove unused $assocData
...
and $LinkModel from the signature.
Model objects should be CamelCase.
2013-11-13 00:09:39 -03:00
Ber Clausen
52d425737a
Call getDataSource() instead of the directly calling
...
ConnectionManager::getDataSource().
2013-11-12 03:38:47 -03:00
Ber Clausen
c1f3d9c274
Model objects should be in CamelCase.
2013-11-12 01:37:38 -03:00
Ber Clausen
014d2dd2d9
Remove 'self' key from getConstraint() calculations because it is not necessary anymore.
2013-11-12 01:30:57 -03:00
Ber Clausen
e658e071d1
Remove unused variable from the signature.
2013-11-12 01:17:11 -03:00
Ber Clausen
67a65663a7
Assign before actually using it.
2013-11-12 01:13:55 -03:00
Ber Clausen
026565033b
Model objects variables should be CamelCase.
2013-11-12 00:49:06 -03:00
Ber Clausen
6b8a79be6d
Remove reference from the signature.
2013-11-12 00:29:36 -03:00
Ber Clausen
cb42b056ac
Remove the 'Line indented incorrectly' PHPCS error.
2013-11-12 00:08:39 -03:00
Ber Clausen
7f570f33e4
Unindent, and remove unnecessary getDataSource() call.
...
Also, objects should be CamelCase.
2013-11-12 00:01:18 -03:00
Ber Clausen
b35c9671ad
Explicitly build SQL statements, calling buildAssociationQuery().
2013-11-11 23:27:50 -03:00
Ber Clausen
f0fcaa1305
Improve generateAssociationQuery():
...
* bail early when $linkModel is Null (BC for now).
* move SQL fields warmup and SQL statement building to its own functions
(it will payoff later improving self documentation and readability).
* make assignments and function calls only when needed (depending on the
association type).
2013-11-11 23:27:50 -03:00
Ber Clausen
dcadfcbcab
Remove inline assignment.
2013-11-11 23:27:50 -03:00
Ber Clausen
53c6df554c
Remove unused $resultSet argument from generateAssociationQuery().
2013-11-11 23:27:50 -03:00
Ber Clausen
5da05d9216
Remove unneeded test inside conditional.
2013-11-11 23:27:50 -03:00
Ber Clausen
f16695db5f
Move variables to logical blocks.
...
Unindent to ease readability, and avoid assigning variables when
unneeded.
Free a little memory before entering to recursive intensive loops.
2013-11-11 23:27:50 -03:00
Ber Clausen
fdb4b11d0b
Remove unnecessary call to getDataSource().
2013-11-11 23:27:50 -03:00
Ber Clausen
c9e0131d6a
Only generate query data for hasOne and belongsTo associations.
...
Avoid calling generateAssociationQuery():
* when the return value will never be usefull (True in this case)
* to avoid polluting $queryData with uneeded fields
Later, the SQL statement for the primary, and 'hasOne' plus 'belongsTo'
relationships, is built.
2013-11-11 23:27:50 -03:00
Ber Clausen
2532228844
Improve readability and optimize minimizing variable lookups.
2013-11-11 23:27:49 -03:00