<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[Freeswitch-trunk][14865] </title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<div id="header">FreeSWITCH Subversion</div>
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://fisheye.freeswitch.org/changelog/FreeSWITCH?cs=14865">14865</a></dd>
<dt>Author</dt> <dd>ledr</dd>
<dt>Date</dt> <dd>2009-09-14 21:02:53 -0500 (Mon, 14 Sep 2009)</dd>
</dl>
<h3>Log Message</h3>
<pre>readme was unreadable</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#freeswitchtrunkcontribledrcmod_odbc_queryREADME">freeswitch/trunk/contrib/ledr/c/mod_odbc_query/README</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="freeswitchtrunkcontribledrcmod_odbc_queryREADME"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/contrib/ledr/c/mod_odbc_query/README (14864 => 14865)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/contrib/ledr/c/mod_odbc_query/README        2009-09-15 01:21:33 UTC (rev 14864)
+++ freeswitch/trunk/contrib/ledr/c/mod_odbc_query/README        2009-09-15 02:02:53 UTC (rev 14865)
</span><span class="lines">@@ -6,23 +6,36 @@
</span><span class="cx">
</span><span class="cx"> Usage:
</span><span class="cx">
</span><del>-<application name="odbc_query" value="SELECT some_column_name AS target_channel_variable_name FROM some_table_name WHERE 1;"/>
</del><ins>+<application name="odbc_query" value="SELECT some_column_name AS
+ target_channel_variable_name FROM some_table_name WHERE 1;"/>
</ins><span class="cx">
</span><span class="cx"> or:
</span><span class="cx">
</span><span class="cx"> <application name="odbc_query" value="my-query"/>
</span><span class="cx">
</span><del>-The module simply checks whether the value contains a space. If it does, then the value will be seen as an SQL query, otherwise it will be seen as a query 'name' that then has to be defined in the modules configuration in the <queries> section like this:
</del><ins>+The module simply checks whether the value contains a space. If it
+does, then the value will be seen as an SQL query, otherwise it will be
+seen as a query 'name' that then has to be defined in the modules
+configuration in the <queries> section like this:
</ins><span class="cx">
</span><span class="cx"> <queries>
</span><del>- <query name="my-query" value="SELECT some_column_name AS target_channel_variable_name FROM some_table_name WHERE 1;"/>
</del><ins>+ <query name="my-query" value="SELECT some_column_name AS
+ target_channel_variable_name FROM some_table_name WHERE 1;"/>
</ins><span class="cx"> </queries>
</span><span class="cx">
</span><del>-The module will do the query and store each returned column name as channel variable name together with its corresponding value.
</del><ins>+The module will do the query and store each returned column name as
+channel variable name together with its corresponding value.
</ins><span class="cx">
</span><del>-Another feature is, that if only two columns are returned, which have the column names "name" and "value", then the channel variables will be set according to them. This way you can have the query return multiple rows with different channel variables. If the query returns something else than column-names "name" and "value" and it returns multiple rows, then the channel variables will be overwritten with each iteration of the rows - which is probably useless.
</del><ins>+Another feature is, that if only two columns are returned, which have
+the column names "name" and "value", then the channel variables will be
+set according to them. This way you can have the query return multiple
+rows with different channel variables. If the query returns something
+else than column-names "name" and "value" and it returns multiple rows,
+then the channel variables will be overwritten with each iteration of
+the rows - which is probably useless.
</ins><span class="cx">
</span><del>-The query may contain ${blah} variables that will be expanded from channel variables before the query is performed.
</del><ins>+The query may contain ${blah} variables that will be expanded from
+channel variables before the query is performed.
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> For example:
</span><span class="lines">@@ -61,6 +74,9 @@
</span><span class="cx"> ---
</span><span class="cx">
</span><span class="cx">
</span><del>-So, the first example should only be used when you know that only zero or one row will be returned, and second one if you know zero or more rows will be returned.
</del><ins>+So, the first example should only be used when you know that only zero
+or one row will be returned, and second one if you know zero or more
+rows will be returned.
</ins><span class="cx">
</span><del>-If zero rows are returned (in either foo/bar or name/value case) then no channel variables will be set, overwritten or deleted.
</del><ins>+If zero rows are returned (in either foo/bar or name/value case) then
+no channel variables will be set, overwritten or deleted.
</ins></span></pre>
</div>
</div>
<div id="footer">See you at ClueCon</div>
</body>
</html>