Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Marcus Andersson
aurweb
Commits
a64cd12f
Commit
a64cd12f
authored
Feb 10, 2011
by
Lukas Fleischer
Browse files
Add support for MySQL transactions to aurblup.
Signed-off-by:
Lukas Fleischer
<
archlinux@cryptocrack.de
>
parent
13bcc269
Changes
2
Hide whitespace changes
Inline
Side-by-side
scripts/aurblup/aurblup.c
View file @
a64cd12f
...
...
@@ -66,11 +66,22 @@ blacklist_sync(alpm_list_t *pkgs)
{
alpm_list_t
*
r
,
*
p
;
#if MYSQL_USE_TRANSACTIONS
if
(
mysql_autocommit
(
c
,
0
))
mysql_die
(
"failed to turn MySQL autocommit off: %s
\n
"
);
if
(
mysql_query
(
c
,
"START TRANSACTION;"
))
mysql_die
(
"failed to start MySQL transaction: %s
\n
"
);
if
(
mysql_query
(
c
,
"TRUNCATE TABLE PackageBlacklist;"
))
mysql_die
(
"failed to truncate MySQL table: %s
\n
"
);
#else
if
(
mysql_query
(
c
,
"LOCK TABLES PackageBlacklist WRITE;"
))
mysql_die
(
"failed to lock MySQL table: %s
\n
"
);
if
(
mysql_query
(
c
,
"DELETE FROM PackageBlacklist;"
))
mysql_die
(
"failed to clear MySQL table: %s
\n
"
);
#endif
for
(
r
=
pkgs
;
r
;
r
=
alpm_list_next
(
r
))
{
pmpkg_t
*
pkg
=
alpm_list_getdata
(
r
);
...
...
@@ -86,8 +97,13 @@ blacklist_sync(alpm_list_t *pkgs)
}
}
#if MYSQL_USE_TRANSACTIONS
if
(
mysql_query
(
c
,
"COMMIT;"
))
mysql_die
(
"failed to commit MySQL transaction: %s
\n
"
);
#else
if
(
mysql_query
(
c
,
"UNLOCK TABLES;"
))
mysql_die
(
"failed to unlock MySQL tables: %s
\n
"
);
#endif
}
alpm_list_t
*
...
...
scripts/aurblup/config.h.proto
View file @
a64cd12f
...
...
@@ -6,6 +6,9 @@
#
define
CONFIG_KEY_PASSWD
"AUR_db_pass"
#
define
CONFIG_KEY_DB
"AUR_db_name"
/* unset this to use "LOCK TABLE" instead of transactions */
#
define
MYSQL_USE_TRANSACTIONS
1
/* libalpm options */
#
define
ALPM_DBPATH
"/var/lib/aurblup/"
#
define
ALPM_MIRROR
"ftp://mirrors.kernel.org/archlinux/%s/os/i686"
...
...
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