From 3b93b56b332b5837085ce9accca597e84e09b088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Thu, 13 Jan 2022 10:39:21 +0100 Subject: [PATCH] Mysql: Added query_db(). --- src/modules/Mysql/mysql.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/modules/Mysql/mysql.c b/src/modules/Mysql/mysql.c index 149007c349..506c4024f7 100644 --- a/src/modules/Mysql/mysql.c +++ b/src/modules/Mysql/mysql.c @@ -1032,7 +1032,7 @@ static void f_sqlstate(INT32 args) *! you want to access with this function. *! *! @seealso - *! @[create()], @[create_db()], @[drop_db()] + *! @[create()], @[create_db()], @[drop_db()], @[query_db()] */ static void f_select_db(INT32 args) { @@ -1073,6 +1073,26 @@ static void f_select_db(INT32 args) pop_n_elems(args); } +/*! @decl string|zero query_db() + *! + *! Returns the currently selected database. + *! + *! @seealso + *! @[select_db()] + */ +static void f_query_db(INT32 args) +{ + MYSQL *mysql = PIKE_MYSQL->mysql; + + pop_n_elems(args); + + if (mysql && mysql->db) { + push_text(mysql->db); + } else { + push_undefined(); + } +} + static void low_query(INT32 args, char *name, int flags) { MYSQL *mysql = PIKE_MYSQL->mysql; @@ -2026,6 +2046,8 @@ PIKE_MODULE_INIT ADD_FUNCTION("insert_id", f_insert_id,tFunc(tVoid,tInt), ID_PUBLIC); /* function(string:void) */ ADD_FUNCTION("select_db", f_select_db,tFunc(tStr,tVoid), ID_PUBLIC); + /* function(:string) */ + ADD_FUNCTION("query_db", f_query_db, tFunc(tNone,tStr), ID_PUBLIC); /* function(string:int|object) */ ADD_FUNCTION("big_query", f_big_query,tFunc(tStr,tObj), ID_PUBLIC); /* function(string:int|object) */ -- GitLab