Commit graph

369 commits

Author SHA1 Message Date
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
mark_story
c540e2b798 Merge branch 'master' into 2.6 2014-12-22 21:38:58 -05:00
OKINAKA Kenshin
8c008ad97d Update. 2014-12-11 13:55:41 +09:00
OKINAKA Kenshin
5cff6aa746 Fixing Mysql::describe() for timestamp. 2014-12-11 10:31:19 +09:00
mark_story
543f05e3d0 Merge branch 'master' into 2.6 2014-11-29 22:00:00 -05: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
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
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
Marc Würth
84b0fe1c88 Added comment to $tableParameters array 2014-10-16 16:06:33 +02: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
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
Burak USGURLU
996ad04b95 to correctly return SET() type 2014-09-04 18:07:30 +03:00
mark_story
7c316bbc56 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/basics.php
2014-08-30 21:28:11 -04: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
713f430fc4 Merge branch 'master' into 2.6 2014-08-03 01:05:36 +05:30
Anthony GRASSIOT
aa42b80a4d a / an typo fixes fot API 2014-07-30 22:11:03 +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
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
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
146053c980 Update datasource API docs. 2014-06-06 14:06:32 -04:00
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
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
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
0ece694a75 microptimize options and default merge and other string key array merges 2014-04-08 01:25:14 +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
ADmad
961f9d7669 Merge branch 'master' into 2.5 2014-03-16 20:17:24 +05:30
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
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
mark_story
be8ebfc005 Merge branch 'master' into 2.5 2014-02-05 09:22:46 -05: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
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
mark_story
7e5c0f7185 Merge branch 'master' into 2.5 2013-12-20 14:15:35 -05:00
OKINAKA Kenshin
3433e10fbd Fix Postgres for bigint primary key. 2013-12-18 14:58:18 +09: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
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
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
mark_story
b6b8d83980 Remove non-portable data type from MySQL.
'numeric' is a non-portable type that is not supported by any other
database driver. Removing it now will prevent future problems.
2013-11-14 10:28:09 -05:00
imsamurai
f1a2c1a75c add decimal type for unsigned 2013-11-14 10:56:51 +02:00
imsamurai
fd64d952b5 change position from afterDefault to beforeDefault during to wrong order, add test 2013-11-14 01:36:27 +02:00
imsamurai
e35823e72a fix tests, add numeric type for unsigned 2013-11-14 01:33:11 +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
mark_story
afd182898f Merge branch 'master' into 2.5 2013-11-01 16:54:57 -04:00
mark_story
9e4ac31dc3 Correctly identifier quote column names before adding them to queries.
Closes #2248
2013-10-31 19:53:42 -04:00
mark_story
aaac360833 Merge branch 'master' into 2.5 2013-10-30 14:58:20 -04:00
Zach Gambino
927a4933d1 Fix for #2247 | Use correct column when calculating next sequence value
See #2247 for more details.
2013-10-30 11:25:06 -07:00
mark_story
16be5722ba Fix COUNT(DISTINCT x) queries from getting corrupted in Sqlserver.
Add into the tower of hacks that is the SQL generation and stop breaking
COUNT(DISTINCT foo) style queries. Previously these would be converted
into DISTINCT COUNT(foo) which will give the non-distinct results.
2013-10-29 23:01:55 -04:00
mark_story
0f8dae55c9 Add missing trim() around Sqlserver queries.
This solves issues with queries failing.

Fixes #2222
2013-10-29 23:01:49 -04:00
ADmad
d9ca148499 Merge branch 'master' into 2.5
Conflicts:
	CONTRIBUTING.md
	lib/Cake/Model/Model.php
	lib/Cake/VERSION.txt
2013-10-30 02:34:09 +05:30
mark_story
a098ff28b8 Update doc block and remove inline assignment. 2013-10-29 12:32:20 -04:00
Mark Story
ce74153389 Merge pull request #1691 from uzyn/2.5-decimal
Add support for decimal type in Schema.

Fixes #3171
2013-10-14 08:36:15 -07:00
José Lorenzo Rodríguez
6c2eb6e7c6 Merge pull request #1546 from rchavik/2.3-sqlite-truncate
Sqlite::truncate(): Verify `sqlite_sequence` exists before _execute()
2013-10-11 15:52:49 -07:00
U-Zyn Chua
e527506c39 MySQL: Numeric data type now supported under decimal column. #3171 2013-09-28 23:05:53 +08:00
U-Zyn Chua
73cae88a6f SQL Server support of numeric type. #3171
Float & real map to float. Numeric & decimal map to numeric.
2013-09-28 22:48:37 +08:00
U-Zyn Chua
c74c8d49a1 Decimal support for SQLite. #3171 2013-09-28 14:36:55 +08:00
U-Zyn Chua
a1a3e70039 Decimal support for PostgreSQL. #3171 2013-09-28 14:07:00 +08:00
U-Zyn Chua
7fb51ab50f Decimal support for MySQL. #3171 2013-09-28 09:23:46 +08:00
Marc Würth
446792987a Replaced two elseifs by if in sqlserver datasource 2013-09-11 23:15:05 +02:00
ovidiupruteanu
b58940e9b5 Fixed handling null values in Sqlserver->value
The value function quoted a null value as N'' instead of NULL.
As a result is produced queries like [name] IS N'' instead of [name] IS NULL which resulted in an SQL error.
2013-09-09 16:33:54 +03:00
okinaka
e0f24d0ade Postgres::truncate(): Delete disused code. 2013-09-05 14:11:50 +09:00
mark_story
f18d354f55 Merge branch 'master' into 2.4 2013-08-28 12:35:07 -04:00
mark_story
c1ae41da51 Correctly generate bigint primary keys in sqlite.
generate bigint primary keys correctly. Autoincrement cannot be set as
it only works with INTEGER columns[1]. I decided to use some string
manipulations as the entire SQL generation bits are a bit janky and I've
already re-written them for 3.0.

[1] https://www.sqlite.org/autoinc.html

Closes #GH-1552
2013-08-27 18:11:04 -04:00
Rachman Chavik
9d8bb8c047 Sqlite::truncate(): Verify sqlite_sequence exists before _execute()
`sqlite_sequence` is a dynamic table that's only available when a table in
the database use an auto increment field.  For some cases, eg: databases that
exclusively use uuid for primary keys, this table won't exist and
truncate() call will fail with:

  Error: SQLSTATE[HY000]: General error: 1 no such table: sqlite_sequence
2013-08-21 16:34:21 +07:00
mark_story
0f2d59d987 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Network/CakeResponse.php
	lib/Cake/TestSuite/CakeTestCase.php
2013-08-18 23:10:08 -04:00
euromark
6cf147e8c8 unify null checks - avoid method call in favor of strict check 2013-08-16 20:12:49 +02:00
mark_story
2d2721d2d9 Update docs for MySQL
MySQL supports a few non-standard options. Document them.
2013-07-19 23:01:16 -04:00
Mike Scarborough
c780ded512 add SSL support to MySQL PDO connections 2013-07-19 22:56:51 -04:00
mark_story
e03d3df0fe Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Test/Case/View/HelperTest.php
	lib/Cake/VERSION.txt
2013-07-17 22:40:09 -04:00