Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
1f864214
Commit
1f864214
authored
May 25, 2007
by
Dries Buytaert
Browse files
- Patch
#55516
by David Strauss et al: removed some database locking.
parent
633540ef
Changes
4
Hide whitespace changes
Inline
Side-by-side
includes/bootstrap.inc
View file @
1f864214
...
...
@@ -444,10 +444,11 @@ function variable_get($name, $default) {
function
variable_set
(
$name
,
$value
)
{
global
$conf
;
db_lock_table
(
'variable'
);
db_query
(
"DELETE FROM
{
variable
}
WHERE name = '%s'"
,
$name
);
db_query
(
"INSERT INTO
{
variable
}
(name, value) VALUES ('%s', '%s')"
,
$name
,
serialize
(
$value
));
db_unlock_tables
();
$serialized_value
=
serialize
(
$value
);
db_query
(
"UPDATE
{
variable
}
SET value = '%s' WHERE name = '%s'"
,
$serialized_value
,
$name
);
if
(
!
db_affected_rows
())
{
@
db_query
(
"INSERT INTO
{
variable
}
(name, value) VALUES ('%s', '%s')"
,
$name
,
$serialized_value
);
}
cache_clear_all
(
'variables'
,
'cache'
);
...
...
includes/cache.inc
View file @
1f864214
...
...
@@ -104,12 +104,11 @@ function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $he
$data
=
serialize
(
$data
);
$serialized
=
1
;
}
db_lock_table
(
$table
);
db_query
(
"UPDATE {"
.
$table
.
"} SET data = %b, created = %d, expire = %d, headers = '%s', serialized = %d WHERE cid = '%s'"
,
$data
,
time
()
,
$expire
,
$headers
,
$serialized
,
$cid
);
$created
=
time
(
);
db_query
(
"UPDATE {"
.
$table
.
"} SET data = %b, created = %d, expire = %d, headers = '%s', serialized = %d WHERE cid = '%s'"
,
$data
,
$created
,
$expire
,
$headers
,
$serialized
,
$cid
);
if
(
!
db_affected_rows
())
{
@
db_query
(
"INSERT INTO {"
.
$table
.
"} (cid, data, created, expire, headers, serialized) VALUES ('%s', %b, %d, %d, '%s', %d)"
,
$cid
,
$data
,
time
()
,
$expire
,
$headers
,
$serialized
);
@
db_query
(
"INSERT INTO {"
.
$table
.
"} (cid, data, created, expire, headers, serialized) VALUES ('%s', %b, %d, %d, '%s', %d)"
,
$cid
,
$data
,
$created
,
$expire
,
$headers
,
$serialized
);
}
db_unlock_tables
();
}
/**
...
...
includes/database.mysql.inc
View file @
1f864214
...
...
@@ -250,13 +250,11 @@ function db_error() {
* with table prefixes. For example, db_next_id('{node}_nid');
*/
function
db_next_id
(
$name
)
{
global
$active_db
;
$name
=
db_prefix_tables
(
$name
);
db_query
(
'LOCK TABLES {sequences} WRITE'
);
$id
=
db_result
(
db_query
(
"SELECT id FROM
{
sequences
}
WHERE name = '%s'"
,
$name
))
+
1
;
db_query
(
"REPLACE INTO
{
sequences
}
VALUES ('%s', %d)"
,
$name
,
$id
);
db_query
(
'UNLOCK TABLES'
);
db_query
(
'INSERT INTO {sequences} VALUES ("%s", LAST_INSERT_ID(1)) ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id + 1)'
,
$name
);
return
$id
;
return
mysql_insert_id
(
$active_db
)
;
}
/**
...
...
includes/database.mysqli.inc
View file @
1f864214
...
...
@@ -242,13 +242,11 @@ function db_error() {
* with table prefixes. For example, db_next_id('{node}_nid');
*/
function
db_next_id
(
$name
)
{
global
$active_db
;
$name
=
db_prefix_tables
(
$name
);
db_query
(
'LOCK TABLES {sequences} WRITE'
);
$id
=
db_result
(
db_query
(
"SELECT id FROM
{
sequences
}
WHERE name = '%s'"
,
$name
))
+
1
;
db_query
(
"REPLACE INTO
{
sequences
}
VALUES ('%s', %d)"
,
$name
,
$id
);
db_query
(
'UNLOCK TABLES'
);
db_query
(
'INSERT INTO {sequences} VALUES ("%s", LAST_INSERT_ID(1)) ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id + 1)'
,
$name
);
return
$id
;
return
mysqli_insert_id
(
$active_db
)
;
}
/**
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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