<div dir="ltr"><div>Copying Brett's reply back to the list. I deleted some of the previous conversation to avoid "message too large".</div><div dir="ltr"><br></div><div dir="ltr">I also noticed DB_DOUBLE is missing from /avpops/avpops_db.c but I don't know C well enough to do the needful. Do you know what should be done to make it a string?<div><br></div><div>Here's my updated /db_mysql/res.c. I did as you suggested and moved MYSQL_TYPE_NEWDECIMAL along with its #if condition to just after 

MYSQL_TYPE_FLOAT

so it is DB_DOUBLE not DB_INT. It looks like the same change is needed for MYSQL_TYPE_DECIMAL since this can also be non-integer, but I didn't touch that.</div><div><br></div><div><font face="monospace">                switch(fields[col].type) {<br>                        case MYSQL_TYPE_TINY:<br>                        case MYSQL_TYPE_SHORT:<br>                        case MYSQL_TYPE_LONG:<br>                        case MYSQL_TYPE_INT24:<br>                        case MYSQL_TYPE_DECIMAL:<br>                        case MYSQL_TYPE_TIMESTAMP:<br>                                LM_DBG("use DB_INT result type\n");<br>                                RES_TYPES(_r)[col] = DB_INT;<br>                                break;<br><br>                        case MYSQL_TYPE_FLOAT:<br>                        #if MYSQL_VERSION_ID > 49999<br>                        case MYSQL_TYPE_NEWDECIMAL:<br>                        #endif<br>                        case MYSQL_TYPE_DOUBLE:<br>                                LM_DBG("use DB_DOUBLE result type\n");<br>                                RES_TYPES(_r)[col] = DB_DOUBLE;<br>                                break;<br></font><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Regards,<div><br></div><div><p style="font-family:helvetica,arial,sans-serif;font-size:12px;margin:0px;padding:0px 0px 20px;color:rgb(0,0,0)"><strong>Calvin Ellison</strong><br>Senior Voice Operations Engineer<br><a href="mailto:calvin.ellison@voxox.com" style="text-decoration:none;color:rgb(14,123,174)" target="_blank">calvin.ellison@voxox.com</a></p></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 9, 2020 at 2:50 PM Brett Nemeroff <<a href="mailto:brett@nemeroff.com">brett@nemeroff.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Hey Calvin, my reply to you got blocked by the list auto-moderator for being too large. I have no idea why? Here’s my reply: </div><div dir="auto"><br></div><div dir="auto"><span style="font-size:16px;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)">Hey Calvin,</span><div style="font-size:1rem;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto">Glad that helped. I'd need to see how you fixed res.c to know why that isn't working. However, most likely it's because of a lack of proper support of doubles. if you take a look at: </div><div style="font-size:1rem;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto">/avpops/avpops_db.c<br></div><div style="font-size:16px;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto"><br></div><div style="font-size:1rem;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto">You'll see in there that it checks the AVP type and there is no type for DB_DOUBLE from what I can see. I'm surprised this hasn't come up more often. </div><div style="font-size:16px;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto"><br></div><div style="font-size:1rem;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto">I don't think the fix would be too hard, at least to make it more usable. You can see the handing in avpops_db isn't super. It's basically coheresing the returned values to an INT or a STRING. You could do the same by asking for a CAST or having the function cast the value before returning (ie: if your SP returned only strings and integers, you would not see this issue.)</div><div style="font-size:1rem;word-spacing:1px;border-color:rgb(49,49,49);color:rgb(49,49,49)" dir="auto"><br></div></div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 9, 2020 at 2:23 PM Calvin Ellison <<a href="mailto:calvin.ellison@voxox.com" target="_blank">calvin.ellison@voxox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Updating the C code per Brett's suggestion resolved that specific error:<div><br></div><div><font face="monospace" style="font-family:monospace;color:rgb(0,0,0)">DBG:db_mysql:db_mysql_str2val: converting DOUBLE [0.0018]<br></font></div><div><br></div><div>Now there is a warning when trying to print that avp:</div><div><br></div><div><font face="monospace" style="font-family:monospace;color:rgb(0,0,0)">WARNING:avpops:db_query_avp_print_results: Unknown type 2<br clear="all"></font><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br></div><div>I don't really care about this particular variable, but if the same issue were to come up again in another context then what fix is needed to print this as a string?</div><div dir="ltr"><br></div><div dir="ltr">Regards,<div><br></div><div><p style="font-family:helvetica,arial,sans-serif;font-size:12px;margin:0px;padding:0px 0px 20px;color:rgb(0,0,0)"><strong style="font-family:helvetica,arial,sans-serif">Calvin Ellison</strong><br>Senior Voice Operations Engineer<br><a href="mailto:calvin.ellison@voxox.com" style="text-decoration:none;font-family:helvetica,arial,sans-serif;color:rgb(14,123,174)" target="_blank">calvin.ellison@voxox.com</a><br></p></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div></div>
</blockquote></div></div>