]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove sql_fields
authorAlan T. DeKok <aland@freeradius.org>
Tue, 22 Jan 2019 15:21:04 +0000 (10:21 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 22 Jan 2019 15:21:04 +0000 (10:21 -0500)
Lots of code, and nothing ever used it.

src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c
src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c
src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c
src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c
src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c
src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c
src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c
src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c
src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c
src/modules/rlm_sql/rlm_sql.c
src/modules/rlm_sql/rlm_sql.h

index 7f922b389e63b6ff495ef968800069972f81ed69..14e6c40fa2ea3e98cc13c6d0a8abbb54b1ccbe27 100644 (file)
@@ -137,44 +137,6 @@ static int sql_num_fields(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *con
        return c;
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_db2_conn_t *conn = handle->conn;
-
-       SQLSMALLINT     fields, len, i;
-
-       char const      **names;
-       char            field[128];
-
-       SQLNumResultCols(conn->stmt, &fields);
-       if (fields == 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_array(handle, char const *, fields));
-
-       for (i = 0; i < fields; i++) {
-               char *p;
-
-               switch (SQLColAttribute(conn->stmt, i, SQL_DESC_BASE_COLUMN_NAME,
-                                       field, sizeof(field), &len, NULL)) {
-               case SQL_INVALID_HANDLE:
-               case SQL_ERROR:
-                       ERROR("Failed retrieving field name at index %i", i);
-                       talloc_free(names);
-                       return RLM_SQL_ERROR;
-
-               default:
-                       break;
-               }
-
-               MEM(p = talloc_array(names, char, (size_t)len + 1));
-               strlcpy(p, field, (size_t)len + 1);
-               names[i] = p;
-       }
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_fetch_row(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
 {
        int c, i;
@@ -285,7 +247,6 @@ rlm_sql_module_t rlm_sql_db2 = {
        .sql_select_query               = sql_select_query,
        .sql_num_fields                 = sql_num_fields,
        .sql_affected_rows              = sql_affected_rows,
-       .sql_fields                     = sql_fields,
        .sql_fetch_row                  = sql_fetch_row,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
index 966ddc3914e63cf6031985a97b17b862875c0784..49bcf739920d69df88980edf560c95a4a2979bff 100644 (file)
@@ -182,27 +182,6 @@ static int sql_num_rows(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
        return sql_affected_rows(handle, config);
 }
 
-/** Returns name of fields.
- *
- */
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_firebird_conn_t *conn = handle->conn;
-
-       int             fields, i;
-       char const      **names;
-
-       fields = conn->sqlda_out->sqld;
-       if (fields <= 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_array(handle, char const *, fields));
-
-       for (i = 0; i < fields; i++) names[i] = conn->sqlda_out->sqlvar[i].sqlname;
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 /** Returns an individual row.
  *
  */
@@ -312,7 +291,6 @@ rlm_sql_module_t rlm_sql_firebird = {
        .sql_num_rows                   = sql_num_rows,
        .sql_affected_rows              = sql_affected_rows,
        .sql_fetch_row                  = sql_fetch_row,
-       .sql_fields                     = sql_fields,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
        .sql_finish_query               = sql_finish_query,
index ad52cca2d796c9c3109b50d119424e83901eba14..820ba2063acd6781bde2fb50d97ee161da99d9ed 100644 (file)
@@ -324,57 +324,6 @@ static int sql_num_fields(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *con
        return num;
 }
 
-/*************************************************************************
- *
- *     Function: sql_fields
- *
- *     Purpose:  Return name of regular result columns.
- *
- *************************************************************************/
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_freetds_conn_t *conn = handle->conn;
-       CS_DATAFMT datafmt;
-       int fields, i;
-       char const **names;
-
-       /* Get number of elements in row result */
-       if (ct_res_info(conn->command, CS_NUMDATA, (CS_INT *)&fields, CS_UNUSED, NULL) != CS_SUCCEED) {
-               ERROR("rlm_sql_freetds: sql_fields() Error retrieving column count");
-
-               return RLM_SQL_ERROR;
-       }
-
-       if (fields <= 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_array(handle, char const *, fields));
-
-       for (i = 0; i < fields; i++) {
-               int col = i + 1;
-               char *p;
-
-               /*
-               ** Get the column description.  ct_describe() fills the
-               ** datafmt parameter with a description of the column.
-               */
-               if (ct_describe(conn->command, col, &datafmt) != CS_SUCCEED) {
-                       ERROR("rlm_sql_freetds: sql_fields() Problems with ct_describe(), column %d", col);
-                       talloc_free(names);
-                       return RLM_SQL_ERROR;
-               }
-
-               if (datafmt.namelen > 0) {
-                       MEM(p = talloc_array(names, char, (size_t)datafmt.namelen + 1));
-                       strlcpy(p, datafmt.name, (size_t)datafmt.namelen + 1);
-                       names[i] = p;
-               }
-       }
-
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 /** Retrieves any errors associated with the connection handle
  *
  * @note Caller will free any memory allocated in ctx.
@@ -803,7 +752,6 @@ rlm_sql_module_t rlm_sql_freetds = {
        .sql_select_query               = sql_select_query,
        .sql_num_fields                 = sql_num_fields,
        .sql_num_rows                   = sql_num_rows,
-       .sql_fields                     = sql_fields,
        .sql_affected_rows              = sql_affected_rows,
        .sql_fetch_row                  = sql_fetch_row,
        .sql_free_result                = sql_free_result,
index c15664c35ff8ba3d3b9d412298a757a7fab92091..d87444db95d0976aee63b78a01b6af7a76f11245 100644 (file)
@@ -195,44 +195,6 @@ static int sql_num_fields(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *con
        return (int)count;
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_iodbc_conn_t *conn = handle->conn;
-
-       SQLSMALLINT     fields, len, i;
-
-       char const      **names;
-       char            field[128];
-
-       SQLNumResultCols(conn->stmt, &fields);
-       if (fields == 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_array(handle, char const *, fields));
-
-       for (i = 0; i < fields; i++) {
-               char *p;
-
-               switch (SQLColAttribute(conn->stmt, i, SQL_DESC_BASE_COLUMN_NAME,
-                                       field, sizeof(field), &len, NULL)) {
-               case SQL_INVALID_HANDLE:
-               case SQL_ERROR:
-                       ERROR("Failed retrieving field name at index %i", i);
-                       talloc_free(names);
-                       return RLM_SQL_ERROR;
-
-               default:
-                       break;
-               }
-
-               MEM(p = talloc_array(names, char, (size_t)len + 1));
-               strlcpy(p, field, (size_t)len + 1);
-               names[i] = p;
-       }
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_fetch_row(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
 {
        SQLRETURN rc;
@@ -325,7 +287,6 @@ rlm_sql_module_t rlm_sql_iodbc = {
        .sql_select_query               = sql_select_query,
        .sql_num_fields                 = sql_num_fields,
        .sql_affected_rows              = sql_affected_rows,
-       .sql_fields                     = sql_fields,
        .sql_fetch_row                  = sql_fetch_row,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
index 8fb7cee9d5bf5bfad68eb815a17767d95de8cff6..2b05db8182fc995fb09957e7b962f5e04b6436c3 100644 (file)
@@ -439,32 +439,6 @@ static int sql_num_rows(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *confi
        return 0;
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_mysql_conn_t *conn = handle->conn;
-
-       unsigned int    fields, i;
-       MYSQL_FIELD     *field_info;
-       char const      **names;
-
-       fields = mysql_num_fields(conn->result);
-       if (fields == 0) return RLM_SQL_ERROR;
-
-       /*
-        *      https://bugs.mysql.com/bug.php?id=32318
-        *      Hints that we don't have to free field_info.
-        */
-       field_info = mysql_fetch_fields(conn->result);
-       if (!field_info) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_zero_array(handle, char const *, fields + 1));
-
-       for (i = 0; i < fields; i++) names[i] = field_info[i].name;
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_fetch_row(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
 {
        rlm_sql_mysql_conn_t    *conn = handle->conn;
@@ -762,7 +736,6 @@ rlm_sql_module_t rlm_sql_mysql = {
        .sql_num_fields                 = sql_num_fields,
        .sql_num_rows                   = sql_num_rows,
        .sql_affected_rows              = sql_affected_rows,
-       .sql_fields                     = sql_fields,
        .sql_fetch_row                  = sql_fetch_row,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
index 9ddb31cea23fbd1b04f729ea17a4866c97155c73..88fd41dc66381550206e284babc8f8fb112d4639 100644 (file)
@@ -202,47 +202,6 @@ static int sql_num_fields(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *con
        return count;
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, rlm_sql_config_t *config)
-{
-       rlm_sql_oracle_conn_t *conn = handle->conn;
-       int             fields, i, status;
-       char const      **names;
-       OCIParam        *param;
-
-       fields = sql_num_fields(handle, config);
-       if (fields <= 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_array(handle, char const *, fields));
-
-       for (i = 0; i < fields; i++) {
-               OraText *pcol_name = NULL;
-               ub4 pcol_size = 0;
-
-               status = OCIParamGet(conn->query, OCI_HTYPE_STMT, conn->error, (dvoid **)&param, i + 1);
-               if (status != OCI_SUCCESS) {
-                       ERROR("rlm_sql_oracle: OCIParamGet(OCI_HTYPE_STMT) failed in sql_fields()");
-               error:
-                       talloc_free(names);
-
-                       return RLM_SQL_ERROR;
-               }
-
-               status = OCIAttrGet((dvoid **)param, OCI_DTYPE_PARAM, &pcol_name, &pcol_size,
-                                   OCI_ATTR_NAME, conn->error);
-               if (status != OCI_SUCCESS) {
-                       ERROR("rlm_sql_oracle: OCIParamGet(OCI_ATTR_NAME) failed in sql_fields()");
-
-                       goto error;
-               }
-
-               names[i] = (char const *)pcol_name;
-       }
-
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config, char const *query)
 {
        int status;
@@ -504,7 +463,6 @@ rlm_sql_module_t rlm_sql_oracle = {
        .sql_num_rows                   = sql_num_rows,
        .sql_affected_rows              = sql_affected_rows,
        .sql_fetch_row                  = sql_fetch_row,
-       .sql_fields                     = sql_fields,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
        .sql_finish_query               = sql_finish_query,
index 721f5ddcc6d73d76e4fce50ee27e2626facc2fc2..0405dcf9e3c9083d095b5fa6ea5cf84d27c7065c 100644 (file)
@@ -388,24 +388,6 @@ static sql_rcode_t sql_select_query(rlm_sql_handle_t * handle, rlm_sql_config_t
        return sql_query(handle, config, query);
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_postgres_conn_t *conn = handle->conn;
-
-       int             fields, i;
-       char const      **names;
-
-       fields = PQnfields(conn->result);
-       if (fields <= 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_zero_array(handle, char const *, fields + 1));
-
-       for (i = 0; i < fields; i++) names[i] = PQfname(conn->result, i);
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_fetch_row(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
 {
 
@@ -537,7 +519,6 @@ rlm_sql_module_t rlm_sql_postgresql = {
        .sql_query                      = sql_query,
        .sql_select_query               = sql_select_query,
        .sql_num_fields                 = sql_num_fields,
-       .sql_fields                     = sql_fields,
        .sql_fetch_row                  = sql_fetch_row,
        .sql_error                      = sql_error,
        .sql_finish_query               = sql_free_result,
index 9cf1aff604053f2e70ad4c6a930f16e409e8bd71..3282f401ec14c365c5dd4c5e113d288a3b1347ea 100644 (file)
@@ -634,24 +634,6 @@ static int sql_num_rows(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *confi
        return 0;
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_sqlite_conn_t *conn = handle->conn;
-
-       int             fields, i;
-       char const      **names;
-
-       fields = sqlite3_column_count(conn->statement);
-       if (fields <= 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_zero_array(handle, char const *, fields + 1));
-
-       for (i = 0; i < fields; i++) names[i] = sqlite3_column_name(conn->statement, i);
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_fetch_row(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
 {
        int status;
@@ -810,7 +792,6 @@ rlm_sql_module_t rlm_sql_sqlite = {
        .sql_num_rows                   = sql_num_rows,
        .sql_affected_rows              = sql_affected_rows,
        .sql_fetch_row                  = sql_fetch_row,
-       .sql_fields                     = sql_fields,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
        .sql_finish_query               = sql_finish_query,
index 9c7d30a34c5f478422fe5b7c388ce8c5ce279ec4..847f81a3748ee7d8c548c7fe5634733789f92c51 100644 (file)
@@ -181,44 +181,6 @@ static int sql_num_fields(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
        return num_fields;
 }
 
-static sql_rcode_t sql_fields(char const **out[], rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config)
-{
-       rlm_sql_unixodbc_conn_t *conn = handle->conn;
-
-       SQLSMALLINT     fields, len, i;
-
-       char const      **names;
-       char            field[128];
-
-       SQLNumResultCols(conn->stmt, &fields);
-       if (fields == 0) return RLM_SQL_ERROR;
-
-       MEM(names = talloc_array(handle, char const *, fields));
-
-       for (i = 0; i < fields; i++) {
-               char *p;
-
-               switch (SQLColAttribute(conn->stmt, i, SQL_DESC_BASE_COLUMN_NAME,
-                                       field, sizeof(field), &len, NULL)) {
-               case SQL_INVALID_HANDLE:
-               case SQL_ERROR:
-                       ERROR("Failed retrieving field name at index %i", i);
-                       talloc_free(names);
-                       return RLM_SQL_ERROR;
-
-               default:
-                       break;
-               }
-
-               MEM(p = talloc_array(names, char, (size_t)len + 1));
-               strlcpy(p, field, (size_t)len + 1);
-               names[i] = p;
-       }
-       *out = names;
-
-       return RLM_SQL_OK;
-}
-
 static sql_rcode_t sql_fetch_row(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
 {
        rlm_sql_unixodbc_conn_t *conn = handle->conn;
@@ -393,7 +355,6 @@ rlm_sql_module_t rlm_sql_unixodbc = {
        .sql_select_query               = sql_select_query,
        .sql_num_fields                 = sql_num_fields,
        .sql_affected_rows              = sql_affected_rows,
-       .sql_fields                     = sql_fields,
        .sql_fetch_row                  = sql_fetch_row,
        .sql_free_result                = sql_free_result,
        .sql_error                      = sql_error,
index 0f843e0e85f2bebf3fdd33bd01cce965d2af660f..f2a7951edc6b72c1d045bcbe3eddb5c60caa2303 100644 (file)
@@ -884,8 +884,6 @@ static int mod_bootstrap(CONF_SECTION *conf, void *instance)
 
        /*
         *      Load the appropriate driver for our database.
-        *
-        *      We need this to check if the sql_fields callback is provided.
         */
        inst->handle = fr_dlopenext(inst->config->sql_driver_name);
        if (!inst->handle) {
index cf2203c1735d5cd4fdd92931bd2ff545ccf99b71..5af8db40905fa83358081d70b1525090c77d8e1e 100644 (file)
@@ -206,7 +206,6 @@ typedef struct rlm_sql_module_t {
        int (*sql_affected_rows)(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 
        sql_rcode_t (*sql_fetch_row)(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
-       sql_rcode_t (*sql_fields)(char const **out[], rlm_sql_handle_t *handle, rlm_sql_config_t *config);
        sql_rcode_t (*sql_free_result)(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 
        sql_error_t     sql_error;                              //!< Get any errors from the previous query.