From c45b526ec398236e765ee890467a23b813b3d88a Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 4 Mar 2021 15:30:06 +0100 Subject: [PATCH] Update sql_query record to handle the Erlang/OTP 24 compiler reports As mentioned in the Erlang/OTP 24 announcement: "Compiler warnings and errors now include column numbers in addition to line numbers." --- include/ejabberd_sql.hrl | 8 ++++++++ mix.exs | 1 + rebar.config | 1 + 3 files changed, 10 insertions(+) diff --git a/include/ejabberd_sql.hrl b/include/ejabberd_sql.hrl index 5e572db9a..2d9ac03ec 100644 --- a/include/ejabberd_sql.hrl +++ b/include/ejabberd_sql.hrl @@ -29,11 +29,19 @@ -define(SQL_INSERT_MARK, sql_insert__mark_). -define(SQL_INSERT(Table, Fields), ?SQL_INSERT_MARK(Table, Fields)). +-ifdef(COMPILER_REPORTS_ONLY_LINES). -record(sql_query, {hash :: binary(), format_query :: fun(), format_res :: fun(), args :: fun(), loc :: {module(), pos_integer()}}). +-else. +-record(sql_query, {hash :: binary(), + format_query :: fun(), + format_res :: fun(), + args :: fun(), + loc :: {module(), {pos_integer(), pos_integer()}}}). +-endif. -record(sql_escape, {string :: fun((binary()) -> binary()), integer :: fun((integer()) -> binary()), diff --git a/mix.exs b/mix.exs index 0da85c1ea..63c20bd9f 100644 --- a/mix.exs +++ b/mix.exs @@ -70,6 +70,7 @@ defmodule Ejabberd.Mixfile do if_version_below('22', [{:d, :LAGER}]) ++ if_version_below('23', [{:d, :USE_OLD_CRYPTO_HMAC}]) ++ if_version_below('23', [{:d, :USE_OLD_PG2}]) ++ + if_version_below('24', [{:d, :COMPILER_REPORTS_ONLY_LINES}]) ++ if_function_exported(:erl_error, :format_exception, 6, [{:d, :HAVE_ERL_ERROR}]) defines = for {:d, value} <- result, do: {:d, value} result ++ [{:d, :ALL_DEFS, defines}] diff --git a/rebar.config b/rebar.config index 6578e6034..309757327 100644 --- a/rebar.config +++ b/rebar.config @@ -99,6 +99,7 @@ {if_version_below, "21", {d, 'NO_CUSTOMIZE_HOSTNAME_CHECK'}}, {if_version_below, "23", {d, 'USE_OLD_CRYPTO_HMAC'}}, {if_version_below, "23", {d, 'USE_OLD_PG2'}}, + {if_version_below, "24", {d, 'COMPILER_REPORTS_ONLY_LINES'}}, {if_var_match, db_type, mssql, {d, 'mssql'}}, {if_var_false, debug, no_debug_info}, {if_var_true, debug, debug_info},