Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
205c5b24
Commit
205c5b24
authored
Nov 29, 2008
by
Dries
Browse files
- Patch
#337926
by hswong3i, Dave Reid, Damien Tournoud: forced connection with PDF:CASE_LOWER.
parent
9b391c2e
Changes
4
Hide whitespace changes
Inline
Side-by-side
includes/database/database.inc
View file @
205c5b24
...
...
@@ -210,6 +210,13 @@ abstract class DatabaseConnection extends PDO {
*/
protected
$transactionClass
=
NULL
;
/**
* The name of the Statement class for this connection.
*
* @var string
*/
protected
$statementClass
=
NULL
;
/**
* The schema object for this connection.
*
...
...
@@ -219,8 +226,9 @@ abstract class DatabaseConnection extends PDO {
function
__construct
(
$dsn
,
$username
,
$password
,
$driver_options
=
array
())
{
// Fallback to DatabaseStatementBase if the driver has not specified one.
$statement_class
=
isset
(
$driver_options
[
'statement_class'
])
?
$driver_options
[
'statement_class'
]
:
'DatabaseStatementBase'
;
unset
(
$driver_options
[
'statement_class'
]);
if
(
empty
(
$this
->
statementClass
))
{
$this
->
statementClass
=
'DatabaseStatementBase'
;
}
// Because the other methods don't seem to work right.
$driver_options
[
PDO
::
ATTR_ERRMODE
]
=
PDO
::
ERRMODE_EXCEPTION
;
...
...
@@ -229,8 +237,8 @@ function __construct($dsn, $username, $password, $driver_options = array()) {
parent
::
__construct
(
$dsn
,
$username
,
$password
,
$driver_options
);
// Set a specific PDOStatement class if the driver requires that.
if
(
!
empty
(
$
statement
_c
lass
)
)
{
$this
->
setAttribute
(
PDO
::
ATTR_STATEMENT_CLASS
,
array
(
$statement
_c
lass
,
array
(
$this
)));
if
(
$this
->
statement
C
lass
!=
'PDOStatement'
)
{
$this
->
setAttribute
(
PDO
::
ATTR_STATEMENT_CLASS
,
array
(
$
this
->
statement
C
lass
,
array
(
$this
)));
}
}
...
...
includes/database/mysql/database.inc
View file @
205c5b24
...
...
@@ -13,15 +13,11 @@
class
DatabaseConnection_mysql
extends
DatabaseConnection
{
protected
$transactionSupport
;
protected
$transactionSupport
=
FALSE
;
public
function
__construct
(
Array
$connection_options
=
array
())
{
$connection_options
+=
array
(
'transactions'
=>
FALSE
,
'port'
=>
3306
,
);
$this
->
transactionSupport
=
$connection_options
[
'transactions'
];
$this
->
transactionSupport
=
isset
(
$connection_options
[
'transactions'
])
?
$connection_options
[
'transactions'
]
:
FALSE
;
$connection_options
[
'port'
]
=
!
empty
(
$connection_options
[
'port'
])
?
$connection_options
[
'port'
]
:
3306
;
$dsn
=
'mysql:host='
.
$connection_options
[
'host'
]
.
';port='
.
$connection_options
[
'port'
]
.
';dbname='
.
$connection_options
[
'database'
];
parent
::
__construct
(
$dsn
,
$connection_options
[
'username'
],
$connection_options
[
'password'
],
array
(
...
...
includes/database/pgsql/database.inc
View file @
205c5b24
...
...
@@ -13,20 +13,13 @@
class
DatabaseConnection_pgsql
extends
DatabaseConnection
{
protected
$transactionSupport
;
protected
$transactionSupport
=
TRUE
;
public
function
__construct
(
Array
$connection_options
=
array
())
{
$this
->
transactionSupport
=
isset
(
$connection_options
[
'transactions'
])
?
$connection_options
[
'transactions'
]
:
TRUE
;
$connection_options
[
'port'
]
=
!
empty
(
$connection_options
[
'port'
])
?
$connection_options
[
'port'
]
:
5432
;
$connection_options
+=
array
(
'transactions'
=>
TRUE
,
);
$this
->
transactionSupport
=
$connection_options
[
'transactions'
];
$dsn
=
'pgsql:host='
.
$connection_options
[
'host'
]
.
' dbname='
.
$connection_options
[
'database'
];
if
(
!
empty
(
$connection_options
[
'port'
]))
{
$dsn
.
=
' port='
.
$connection_options
[
'port'
];
}
$dsn
=
'pgsql:host='
.
$connection_options
[
'host'
]
.
' dbname='
.
$connection_options
[
'database'
]
.
' port='
.
$connection_options
[
'port'
];
parent
::
__construct
(
$dsn
,
$connection_options
[
'username'
],
$connection_options
[
'password'
],
array
(
// Convert numeric values to strings when fetching.
PDO
::
ATTR_STRINGIFY_FETCHES
=>
TRUE
,
...
...
includes/database/sqlite/database.inc
View file @
205c5b24
...
...
@@ -27,11 +27,11 @@ class DatabaseConnection_sqlite extends DatabaseConnection {
public
function
__construct
(
Array
$connection_options
=
array
())
{
// We don't need a specific PDOStatement class here, we simulate it below.
$connection_options
[
'statement_class'
]
=
FALSE
;
$this
->
statementClass
=
'PDOStatement'
;
$this
->
transactionSupport
=
isset
(
$connection_options
[
'transactions'
])
?
$connection_options
[
'transactions'
]
:
TRUE
;
parent
::
__construct
(
'sqlite:'
.
$connection_options
[
'database'
],
''
,
''
,
array
(
$dns
=
'sqlite:'
.
$connection_options
[
'database'
];
parent
::
__construct
(
$dns
,
''
,
''
,
array
(
// Force column names to lower case.
PDO
::
ATTR_CASE
=>
PDO
::
CASE_LOWER
,
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment