I think this is already the intended behavior of the db app.<div><br></div><div>under insert it does the following:</div><div><br></div><div>sql = switch_mprintf(&quot;delete from db_data where realm=&#39;%q&#39; and data_key=&#39;%q&#39;&quot;, argv[1], argv[2]);</div>
<div><br></div><div>then:</div><div><br></div><div>sql = switch_mprintf(&quot;insert into db_data (hostname, realm, data_key, data) values(&#39;%q&#39;,&#39;%q&#39;,&#39;%q&#39;,&#39;%q&#39;);&quot;, globals.hostname, argv[1], argv[2], argv[3]);</div>
<div><br></div><div><br></div><div>If you are getting differing results, can you report it under Jira and post examples on how to reproduce using GIT HEAD so we can get to the bottom of it.  There must be a bug if this is happening.</div>
<div><br></div><div><br></div><div>Also .. Yiftach Golan.</div><div><br></div><div>Why do you continue to make childish comments?  Especially on other people&#39;s thread.  Asking people to go offline with you so you can feed them FUD about how we don&#39;t listen to people, meanwhile here we are every day answering hundreds of emails.    Do you really not understand?  I am seriously trying to help you here.  You need to learn a few things about etiquette to work in a community setting.  There is a difference between saying your opinion and arguing a moot point into the ground when its not even your thread......  Being annoyed because we want to use Jira which is the intended resource for development and issue tracking makes no sense and is a bit selfish.  If we are going to share our project with you, the least you can do is follow our minimal set of guidelines to make it easier for a handful of people to manage a community of several thousand people.....</div>
<div><br></div><div>=/</div><div><br></div><div><br></div><div><br><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 17, 2012 at 7:42 PM, Scott <span dir="ltr">&lt;<a href="mailto:8f27e956@gmail.com" target="_blank">8f27e956@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Are there reasons why the function &#39;hash&#39; (non-persistent storage) and function &#39;db&#39; (persistent storage) share a look-a-like user interface (e.g. select/insert/delete) but do not work-a-like.  In particular, in &#39;hash&#39;, insert overwrites an identical realm/data_key pair whereas &#39;db&#39; , in so far as I can tell, just blindly adds, and adds, adds, the insert(s).  However, the &#39;db&#39; select method returns one record only even if the db has accumulated many realm/data_key records, including data_value duplicates.  <br>

<br>NOTWITHSTANDING reasons-unknow-to-me, a remedy to harmonize the non-persistent &#39;hash&#39; with the persistent &#39;db&#39;  I *think* is straight forward ...<br><br>(1) At the call_limit.db schema-level, a one-time create UNIQUE COMPOUND index, as follows,<br>

<br>CREATE UNIQUE INDEX IF NOT EXISTS &#39;idx_db_data_HostRealmDK&#39; ON &#39;db_data&#39; (&#39;hostname&#39;,&#39;realm&#39;,&#39;data_key&#39;);<br><br>(1) At the c-language embedded SQL string-level,<br><br>change the existing INSERT to be the following,<br>

<br>INSERT OR REPLACE INTO db_data (hostname,realm,data_key,data) VALUES (%s,%s,%s,%s);<br><br>The index will help speed UP the reads.  Neither change is &quot;exotic&quot; and should be portable across standard sql implementations.<br>

<br>;-) ... thoughts ?<br><br>Thanks,<br><br><br><br>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:+19193869900<br>
</div>