[GB.DB.MYSQL]
* NEW: If the connection host starts with a slash, then we supposed that we are connecting to localhost, and that the host is actually the path of the socket to use. git-svn-id: svn://localhost/gambas/trunk@4130 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
parent
61f9bb4db6
commit
f315e8e717
1 changed files with 13 additions and 3 deletions
|
@ -597,6 +597,8 @@ static int open_database(DB_DESC *desc, DB_DATABASE *db)
|
||||||
{
|
{
|
||||||
MYSQL *conn;
|
MYSQL *conn;
|
||||||
char *name;
|
char *name;
|
||||||
|
char *host;
|
||||||
|
char *socket;
|
||||||
|
|
||||||
conn = mysql_init(NULL);
|
conn = mysql_init(NULL);
|
||||||
|
|
||||||
|
@ -611,9 +613,17 @@ static int open_database(DB_DESC *desc, DB_DATABASE *db)
|
||||||
|
|
||||||
//fprintf(stderr, "mysql_real_connect: host = '%s'\n", desc->host);
|
//fprintf(stderr, "mysql_real_connect: host = '%s'\n", desc->host);
|
||||||
|
|
||||||
if (!mysql_real_connect( conn, desc->host, desc->user, desc->password,
|
host = desc->host;
|
||||||
name, desc->port == NULL ? 0 : atoi(desc->port), NULL, /*unix_socket: if not null the
|
if (host && *host == '/')
|
||||||
string specifies the socket or named pipe that should be used */
|
{
|
||||||
|
socket = host;
|
||||||
|
host = NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
socket = NULL;
|
||||||
|
|
||||||
|
if (!mysql_real_connect( conn, host, desc->user, desc->password,
|
||||||
|
name, desc->port == NULL ? 0 : atoi(desc->port), socket,
|
||||||
CLIENT_MULTI_RESULTS /*client flag */)){
|
CLIENT_MULTI_RESULTS /*client flag */)){
|
||||||
mysql_close(conn);
|
mysql_close(conn);
|
||||||
GB.Error("Cannot open database: &1", mysql_error(conn));
|
GB.Error("Cannot open database: &1", mysql_error(conn));
|
||||||
|
|
Loading…
Reference in a new issue