Search Results

Search found 9872 results on 395 pages for 'preg replace callback'.

Page 180/395 | < Previous Page | 176 177 178 179 180 181 182 183 184 185 186 187  | Next Page >

  • Which is the most memory leak safe approach.

    - by MattC
    I have a table of frequently updated information. This is presented using a container div with a div for each row, each row containing 10 divs. I am using setInterval to call a an asmx webservice that returns some json formatted information. On the success callback I call $("#myContainer").empty(); on the container div and recreate the rows and 10 nested divs for each row's columns. This page may be left to run for a whole day, so I am wary of updating the DOM like this as I have noticed that memory does rise for the browser over time (IE8). The other approach I am considering is to add an idea to the row div. When new results process each item of data, look for the corresponding row, if it exists overwrite the data in each div. If it doesn't exist (new data for example), append the row. What approaches have others used for this sort of long lived pseudo realtime information display. TIA

    Read the article

  • Modifying documents in memory in yaml-cpp

    - by Mike Mueller
    I want to read a YML document, filter it by modifying some nodes in memory, and then spit it back out with an emitter. The problem is that YAML::Node appears to be designed to be read-only. Is there a way to replace a node's value (with a scalar in this case) that I'm missing?

    Read the article

  • ^m character in doc file

    - by Safiullah
    I am creating a doc file and writing a text containing ^m in it and facing issue. Does this ^m is a special character for doc file ? If I replace ^m with some other characters (like ^m with m or any other) then It works fine. I faced this issue with other characters too like ^a and few other. What could be the solution ?

    Read the article

  • Bing search API using Jsonp not working, invalid label

    - by Blankman
    Struggling with Bing's json request (bing search, not map), I am getting an error back that says 'Invalid Label' My query url is: var bingurl="http://api.search.live.net/json.aspx?Appid=##APIKEY##&query=Honda&sources=web"; $.ajax({ type: "GET", url: bingurl, data: "{}", contentType: "application/json; charset=utf-8", dataType: "jsonp", success: function(data) { $callBack(data); }, error: function(msg) { alert("error" + msg); } }); Firebug reports 'invalid label' and then dumps the json response. No idea what is wrong? help appreciated.

    Read the article

  • Display HTML code in HTML

    - by Steven
    Is there a way to show HTML code-snippets on a webpage without needing to replace each < with &lt; and with &gt;? In other words, is there some tag which simply says "Don't render html until you hit the closing tag?"

    Read the article

  • Does Python doctest remove the need for unit-tests?

    - by daniel
    Hi all, A fellow developer on a project I am on believes that doctests are as good as unit-tests, and that if a piece of code is doctested, it does not need to be unit-tested. I do not believe this to be the case. Can anyone provide some solid, ideally cited, examples either for or against the argument that doctests do not replace the need for unit-tests? Thank you -Daniel

    Read the article

  • SQLDependency thread

    - by user171523
    i am in the process implementing SQLdepenency i would like to know in case of Dependency Handler exeuctues will it spun a different thred from main Process ? What will happen when the event handler triggers? Do i need to worry about any multithreds issues? public void CreateSqlDependency() { try { using (SqlConnection connection = (SqlConnection)DBFactory.GetDBFactoryConnection(Constants.SQL_PROVIDER_NAME)) { SqlCommand command = (SqlCommand)DBFactory.GetCommand(Constants.SQL_PROVIDER_NAME); command.CommandText = watchQuery; command.CommandType = CommandType.Text; SqlDependency dependency = new SqlDependency(command); //Create the callback object dependency.OnChange += new OnChangeEventHandler(this.QueueChangeNotificationHandler); SqlDependency.Start(connectionString); DataTable dataTable = DBFactory.ExecuteSPReDT(command); } } catch (SqlException sqlExp) { throw sqlExp; } catch (Exception ex) { throw ex; } } public void QueueChangeNotificationHandler(object caller, SqlNotificationEventArgs e) { if(e.Info == SqlNotificationInfo.Insert) Fire(); }

    Read the article

  • MonoRail - Select parent category from one dropdown, show child category dropdown

    - by Justin
    Hey, I'm new to MonoRail and am trying to figure out how to have it so that I can select a parent category in a dropdown then have it show a second dropdown with the categories that are children of the parent. If I were using what I'm used to, ASP.NET MVC, I would have a javascript function that would be called onchange of the first dropdown and would make an ajax call to a controller method (passing in the selected parent category id) that would grab all child categories of that parent category and return them in JSON. Then in the callback javascript function I would eval the JSON and populate the second dropdown with the child categories. How would I do this using MonoRail/jQuery? Here's the code I have so far: $FormHelper.Select("business.category.id", $categories, "%{value='id', text='name', firstoption='Select a Category'}") $FormHelper.Select("business.category.id", $childCategories, "%{value='id', text='name', firstoption='Select a Sub-Category'}") Then in BusinessController.cs: private void AddDataToModels() { PropertyBag["categories"] = CategoryRepository.GetParentCategories(); PropertyBag["childCategories"] = CategoryRepository.GetChildCategories(1); } Thanks for any input on how to approach this! Justin

    Read the article

  • Deliver files from a web server from outside the web app

    - by Ankur
    Is there anyway to serve a file from a web server through the web, that is not within the web application. I am using Tomcat and a Java servlets based application. I don't want to put the files within the webapp because they are several 100GB and I will have to replace them every time I update the WAR if I put them inside it.

    Read the article

  • javascript and css working on firefox but not working on IE

    - by Nirbhay saini
    Hi I have this code which working on fitrefox but not working on IE missing last charector on IE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>wrapped</title> <script type="text/javascript" language="javascript"> function set_padd(){ var tt = document.getElementById("span_padding").innerHTML; var txt = new Array(); txt = tt.split(" "); var atxt = ''; var f_txt = ''; var wrd_pr_linr = 4; var cnt = 1; for(var i = 0; i < txt.length; i++){ if(txt[i].length > 0){ txt[i] = txt[i].replace(' ',''); if(cnt < wrd_pr_linr){ if(txt[i].length > 0){ atxt += ' '+txt[i].replace(' ',''); cnt++; } }else{ f_txt += '<a class="padd_txt" >'+atxt+'</a><br />'; atxt = ''; cnt = 1; } } } document.getElementById("span_padding").innerHTML = f_txt; } </script> <style type="text/css"> .padd_txt{padding:7px;background:#009;color:#FFF;line-height:26px;font-size:14px;} body{font-family:'Trebuchet MS', Arial, Helvetica, sans-serif; font-size:24px; line-height:1.2em;} span{background-color: #009; width:200px; color: #FFF;" class="blocktext;} </style> </head> <body onload="set_padd();"> <div style="width: 350px;"> <p> <span id="span_padding"> This is what I want to happen where one long string is wrapped and the text has this highlight color behind it. </span> </div> </body> </html> out put on firefox is This is I want to happen where one string is wrapped and the text this highlight behind it. and output on IE This is what want to happen one long string wrapped and the has this highlight missing last two word

    Read the article

  • iPhone: Howto get notified when an UIView becomes visible

    - by arne_
    Is there a way to get a notification, a callback or some other means to call a method whenever a UIView becomes visible for the user, i.e. when a UIScrollview is the superview of some UIViews, and the ViewController of such a UIView shall get notified when its view is now visible to the user? I am aware of the possible, but not so elegant solution of checking to which position the ScrollView scrolled (via UIScrollViewDelegate-methods) and compute if either one of the subviews is visible... But I'm looking for a more universal way of doing this.

    Read the article

  • getelementbyid does not work in firefox

    - by gaurab
    hi, this below mentioned code works perfect in internet explorer but not in firefox... i get an error in line in firefox: document.getElementById("supplier_no").value= values_array[0]; that getElementById returns null. how to solve the problem? var winName; //variable for the popup window var g_return_destination = null ; //variable to track where the data gets sent back to. // Set the value in the original pages text box. function f_set_home_value( as_Value ) { if (document.getElementById(g_return_destination[0]).name == "netbank_supplier_name_info" ) { //clear the old values for (selnum = 1; selnum <= 5; selnum++) { document.getElementById("expense_account"+selnum).value = ""; document.getElementById("expense_account_name"+selnum).value = ""; document.getElementById("expense_vat_flag"+selnum).value = "off"; document.getElementById("expense_vat_flag"+selnum).checked = ""; document.getElementById("expense_vat_amount"+selnum).value = ""; document.getElementById("expense_vat_code"+selnum).value = ""; document.getElementById("expense_period"+selnum).value = ""; document.getElementById("expense_date"+selnum).value = ""; if (selnum!=1) {//these are sometimes defaulted in, and in any case you will always have line1 document.getElementById("expense_more_dept"+selnum).value = ""; document.getElementById("expense_more_prj"+selnum).value = ""; document.getElementById("expense_more_subj"+selnum).value = ""; } document.getElementById("expense_amount"+selnum).value = ""; } var values_array = as_Value[0].split("!"); document.getElementById("supplier_no").value= values_array[0]; document.getElementById("supplier_bankAccount_no").value= values_array[1]; str = values_array[2] ; str = str.split(";sp;").join(" "); document.getElementById("default_expense_account").value= str; document.getElementById("expense_account1").value= str; document.getElementById("expense_more_sok1").disabled= false; str = values_array[3] ; str = str.split(";sp;").join(" "); document.getElementById("payment_term").value= str; strPeriod = calcPeriod(str,document.getElementById("due_date").value); document.getElementById("expense_period1").value = (strPeriod); strExpenseDate = calcExpenseDate(str,document.getElementById("due_date").value); document.getElementById("expense_date1").value = (strExpenseDate); str = values_array[4] ; str = str.split(";sp;").join(" "); document.getElementById("expense_account_name1").value= str; str = values_array[5] ; str = str.split(";sp;").join(" "); document.getElementById("expense_vat_code1").value= str; if (str == 0) { document.getElementById("expense_vat_flag1").checked= ''; document.getElementById("expense_vat_flag1").disabled= true; }else{ document.getElementById("expense_vat_flag1").checked= 'yes'; document.getElementById("expense_vat_flag1").value= 'on'; document.getElementById("expense_vat_flag1").disabled= false; } str = values_array[6] ; str = str.split(";sp;").join(" "); document.getElementById("supplier_name").value= str; var str = values_array[7]; str = str.split(";sp;").join(" "); str = str.split("&cr;").join("\r"); document.getElementById("netbank_supplier_name_info").value= str; strx = justNumberNF(document.getElementById("amount").value); document.all["expense_vat_amount1"].value = NetbankToDollarsAndCents(strx * (24/124)) ; document.getElementById("amount").value=NetbankToDollarsAndCents(strx); document.getElementById("expense_amount1").value = document.getElementById("amount").value; document.getElementById("expense_amount2").value = ''; document.getElementById("expense_account2").value= ''; //document.getElementById("expense_vat_flag2").value= ''; document.getElementById("expense_vat_amount2").value= ''; document.getElementById("expense_amount3").value = ''; document.getElementById("expense_account3").value= ''; //.getElementById("expense_vat_flag3").value= ''; document.getElementById("expense_vat_amount3").value= ''; document.getElementById("expense_amount4").value = ''; document.getElementById("expense_account4").value= ''; //document.getElementById("expense_vat_flag4").value= ''; document.getElementById("expense_vat_amount4").value= ''; document.getElementById("expense_amount5").value = ''; document.getElementById("expense_account5").value= ''; //document.getElementById("expense_vat_flag5").value= ''; document.getElementById("expense_vat_amount5").value= ''; str = values_array[8] ; str = str.split(";sp;").join(" "); if (str=="2"){ document.frmName.ButtonSelPeriodisering1.disabled=false; document.frmName.ButtonSelPeriodisering1.click(); } winName.close(); } } //Pass Data Back to original window function f_popup_return(as_Value) { var l_return = new Array(1); l_return[0] = as_Value; f_set_home_value(l_return); } function justNumberNF(val){ val = (val==null) ? 0 : val; // check if a number, otherwise try taking out non-number characters. if (isNaN(val)) { var newVal = parseFloat(val.replace(/[^\d\.\-]/g, '.')); // check if still not a number. Might be undefined, '', etc., so just replace with 0. return (isNaN(newVal) ? 0 : newVal); } // return 0 in place of infinite numbers. else if (!isFinite(val)) { return 0; } return val; }; function NetbankToDollarsAndCents(n) { var s = "" + Math.round(n * 100) / 100 ; var i = s.indexOf('.') ; if (i < 0) {return s + ",00" } ; var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3) ; if (i + 2 == s.length) {t += "0"} ; return t.replace('.',',') ; }

    Read the article

  • Java : method to to print relative pathname?

    - by HH
    I am hesitant just to look at some env.vars and try to replace things with regexes. So is there a ready method to print relative pathnames system-independently? $ echo ~ /u/user $ pwd /u/user/OH/one/src $ echo "Like relative pathnames ~/OH/one/src, not /u/user/OH/one/src."

    Read the article

  • Replacing multiple characters in C#

    - by Yassin
    How would i write a program, using the replace method, that rotates the vowels in a word? meaning the letter 'a' would be 'e', 'e' would be 'i', 'i' would be 'o', 'o' would be 'u', and finally 'u' would be 'a'. For example, the word "instructor" would be "onstractur". I hope someone can answer my problem.

    Read the article

  • iPhone UISearchBar animated to top

    - by hurley scott
    There are lots of apps where the searchbar moves upwards if active and moves down when it is inactive. There is a sample code from apple available which works with IB, but how can I achieve this behavior programmatically? Mostly it is combined with a navigationbar which moves out of the screen in replace with the searchbar

    Read the article

  • Binary data instead of actual image in C#

    - by acadia
    Hello, I am using the below mentioned library to create a barcode which is storing in a specified location as shown below: My question is, is there a way instead of saving it to a png file I get byte data? thanks Code39 code = new Code39("10090"); code.Paint().Save("c:/NewBARCODE.png", ImageFormat.Png); using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Diagnostics; namespace BarCode39 { public class Code39Settings { private int height = 60; public int BarCodeHeight { get { return height; } set { height = value; } } private bool drawText = true; public bool DrawText { get { return drawText; } set { drawText = value; } } private int leftMargin = 10; public int LeftMargin { get { return leftMargin; } set { leftMargin = value; } } private int rightMargin = 10; public int RightMargin { get { return rightMargin; } set { rightMargin = value; } } private int topMargin = 10; public int TopMargin { get { return topMargin; } set { topMargin = value; } } private int bottomMargin = 10; public int BottomMargin { get { return bottomMargin; } set { bottomMargin = value; } } private int interCharacterGap = 2; public int InterCharacterGap { get { return interCharacterGap; } set { interCharacterGap = value; } } private int wideWidth = 2; public int WideWidth { get { return wideWidth; } set { wideWidth = value; } } private int narrowWidth = 1; public int NarrowWidth { get { return narrowWidth; } set { narrowWidth = value; } } private Font font = new Font(FontFamily.GenericSansSerif, 12); public Font Font { get { return font; } set { font = value; } } private int codeToTextGapHeight = 10; public int BarCodeToTextGapHeight { get { return codeToTextGapHeight; } set { codeToTextGapHeight = value; } } } public class Code39 { #region Static initialization static Dictionary<char, Pattern> codes; static Code39() { object[][] chars = new object[][] { new object[] {'0', "n n n w w n w n n"}, new object[] {'1', "w n n w n n n n w"}, new object[] {'2', "n n w w n n n n w"}, new object[] {'3', "w n w w n n n n n"}, new object[] {'4', "n n n w w n n n w"}, new object[] {'5', "w n n w w n n n n"}, new object[] {'6', "n n w w w n n n n"}, new object[] {'7', "n n n w n n w n w"}, new object[] {'8', "w n n w n n w n n"}, new object[] {'9', "n n w w n n w n n"}, new object[] {'A', "w n n n n w n n w"}, new object[] {'B', "n n w n n w n n w"}, new object[] {'C', "w n w n n w n n n"}, new object[] {'D', "n n n n w w n n w"}, new object[] {'E', "w n n n w w n n n"}, new object[] {'F', "n n w n w w n n n"}, new object[] {'G', "n n n n n w w n w"}, new object[] {'H', "w n n n n w w n n"}, new object[] {'I', "n n w n n w w n n"}, new object[] {'J', "n n n n w w w n n"}, new object[] {'K', "w n n n n n n w w"}, new object[] {'L', "n n w n n n n w w"}, new object[] {'M', "w n w n n n n w n"}, new object[] {'N', "n n n n w n n w w"}, new object[] {'O', "w n n n w n n w n"}, new object[] {'P', "n n w n w n n w n"}, new object[] {'Q', "n n n n n n w w w"}, new object[] {'R', "w n n n n n w w n"}, new object[] {'S', "n n w n n n w w n"}, new object[] {'T', "n n n n w n w w n"}, new object[] {'U', "w w n n n n n n w"}, new object[] {'V', "n w w n n n n n w"}, new object[] {'W', "w w w n n n n n n"}, new object[] {'X', "n w n n w n n n w"}, new object[] {'Y', "w w n n w n n n n"}, new object[] {'Z', "n w w n w n n n n"}, new object[] {'-', "n w n n n n w n w"}, new object[] {'.', "w w n n n n w n n"}, new object[] {' ', "n w w n n n w n n"}, new object[] {'*', "n w n n w n w n n"}, new object[] {'$', "n w n w n w n n n"}, new object[] {'/', "n w n w n n n w n"}, new object[] {'+', "n w n n n w n w n"}, new object[] {'%', "n n n w n w n w n"} }; codes = new Dictionary<char, Pattern>(); foreach (object[] c in chars) codes.Add((char)c[0], Pattern.Parse((string)c[1])); } #endregion private static Pen pen = new Pen(Color.Black); private static Brush brush = Brushes.Black; private string code; private Code39Settings settings; public Code39(string code) : this(code, new Code39Settings()) { } public Code39(string code, Code39Settings settings) { foreach (char c in code) if (!codes.ContainsKey(c)) throw new ArgumentException("Invalid character encountered in specified code."); if (!code.StartsWith("*")) code = "*" + code; if (!code.EndsWith("*")) code = code + "*"; this.code = code; this.settings = settings; } public Bitmap Paint() { string code = this.code.Trim('*'); SizeF sizeCodeText = Graphics.FromImage(new Bitmap(1, 1)).MeasureString(code, settings.Font); int w = settings.LeftMargin + settings.RightMargin; foreach (char c in this.code) w += codes[c].GetWidth(settings) + settings.InterCharacterGap; w -= settings.InterCharacterGap; int h = settings.TopMargin + settings.BottomMargin + settings.BarCodeHeight; if (settings.DrawText) h += settings.BarCodeToTextGapHeight + (int)sizeCodeText.Height; Bitmap bmp = new Bitmap(w, h, PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(bmp); int left = settings.LeftMargin; foreach (char c in this.code) left += codes[c].Paint(settings, g, left) + settings.InterCharacterGap; if (settings.DrawText) { int tX = settings.LeftMargin + (w - settings.LeftMargin - settings.RightMargin - (int)sizeCodeText.Width) / 2; if (tX < 0) tX = 0; int tY = settings.TopMargin + settings.BarCodeHeight + settings.BarCodeToTextGapHeight; g.DrawString(code, settings.Font, brush, tX, tY); } return bmp; } private class Pattern { private bool[] nw = new bool[9]; public static Pattern Parse(string s) { Debug.Assert(s != null); s = s.Replace(" ", "").ToLower(); Debug.Assert(s.Length == 9); Debug.Assert(s.Replace("n", "").Replace("w", "").Length == 0); Pattern p = new Pattern(); int i = 0; foreach (char c in s) p.nw[i++] = c == 'w'; return p; } public int GetWidth(Code39Settings settings) { int width = 0; for (int i = 0; i < 9; i++) width += (nw[i] ? settings.WideWidth : settings.NarrowWidth); return width; } public int Paint(Code39Settings settings, Graphics g, int left) { #if DEBUG Rectangle gray = new Rectangle(left, 0, GetWidth(settings), settings.BarCodeHeight + settings.TopMargin + settings.BottomMargin); g.FillRectangle(Brushes.Gray, gray); #endif int x = left; int w = 0; for (int i = 0; i < 9; i++) { int width = (nw[i] ? settings.WideWidth : settings.NarrowWidth); if (i % 2 == 0) { Rectangle r = new Rectangle(x, settings.TopMargin, width, settings.BarCodeHeight); g.FillRectangle(brush, r); } x += width; w += width; } return w; } } } }

    Read the article

  • accepts_nested_attributes_for ignore blank values

    - by Mike
    i have class Profile has_many :favorite_books, :dependent => :destroy has_many :favorite_quotes, :dependent => :destroy accepts_nested_attributes_for :favorite_books, :allow_destroy => true accepts_nested_attributes_for :favorite_quotes, :allow_destroy => true end I have a dynamic form where you press '+' to add new textareas for creating new favorites. What i want to do is ignore the blank ones, I find this harder to sort through in the update controller than a non nested attribute. What i have temporarily is a hack in the after_save callback deleting the empty records. Whats the most rails way to ignore these blank objects? I dont want validation and errors, just a silent deletion/ignore.

    Read the article

  • How to get absolute path from path with system path variables?

    - by The_Fox
    Is there an easy way to translate a path with system path variables to an absolute path? So %ProgramFiles%\Internet Explorer\hmmapi.dll becomes C:\Program Files\Internet Explorer\hmmapi.dll I like to know if there is an API call that can do this, or do I have to do this the hard way and detect %..% sequences and replace them with the appropriate environment variable?

    Read the article

  • MS Word paste into tinymce - retain tabulators

    - by jdog
    Hi, I have a 5 year old web application which runs tinymce 2.0.5.1 In this version it is possible - in IE 6,7,8 only to paste from MS Word and retain the tab characters. What we have done is to add a callback: paste_insert_word_content_callback : "findtabs" function findtabs(type, content) { if (type == "before"){ content = content.replace(/( This functionality is important to the client as they have 100s of MS Word documents of quote templates which use tabulators for formatting. Because of another problem suspected to be caused by TinyMCE, we'd like to upgrade to the current TinyMCE version 3.2.7 However in this version the resulting paste code does not contain anything that seems to 100% link to a tabulator. If pasted into an empty textarea, I get something like , if pasted into a I simply a space character. Can anyone recommend how to detect tabulators when pasting from MS Word?

    Read the article

  • Fixing Unicode Oops

    - by Mez
    It seems that we have managed to insert into our database 2 unicode characters for each of the unicode characters we want, For example, for the unicde char 0x3CBC, we've inserted the unicode equivalents for each of it's components (0xC383 AND 0xC2BC) Can anyone think of a simple solution for fixing this? I've come up with something like SELECT replace(name, CONCAT(0xC3,0x83,0xc2,0xbc), CONCAT(0xc3,0xbc)) FROM lang For the above, but don't want to have to do this for every unicode character!

    Read the article

  • Removing non-breaking spaces from strings using Python

    - by dontsaythekidsname
    Hello: I am having some trouble with a very basic string issue in Python (that I can't figure out). Basically, I am trying to do the following: '# read file into a string myString = file.read() '# Attempt to remove non breaking spaces myString = myString.replace("\u00A0"," ") '# however, when I print my string to output to console, I get: Foo **<C2><A0>** Bar I thought that the "\u00A0" was the escape code for unicode non breaking spaces, but apparently I am not doing this properly. Any ideas on what I am doing wrong?

    Read the article

  • perl equivalent to awk /text/,/END/

    - by kSiR
    I am looking to replace a nasty shell script that uses awk to trim down some html, problem is I cannot find anything in perl that does the aforementioned function awk '/<TABLE\ WIDTH\=\"100\%\" BORDER\=1\ CELLSPACING\=0><TR\ class\=\"tabhead\"><TH>State<\/TH>/,/END/' How can I do this in perl?

    Read the article

  • Evaluation of CTEs in SQL Server 2005

    - by Jammer
    I have a question about how MS SQL evaluates functions inside CTEs. A couple of searches didn't turn up any results related to this issue, but I apologize if this is common knowledge and I'm just behind the curve. It wouldn't be the first time :-) This query is a simplified (and obviously less dynamic) version of what I'm actually doing, but it does exhibit the problem I'm experiencing. It looks like this: CREATE TABLE #EmployeePool(EmployeeID int, EmployeeRank int); INSERT INTO #EmployeePool(EmployeeID, EmployeeRank) SELECT 42, 1 UNION ALL SELECT 43, 2; DECLARE @NumEmployees int; SELECT @NumEmployees = COUNT(*) FROM #EmployeePool; WITH RandomizedCustomers AS ( SELECT CAST(c.Criteria AS int) AS CustomerID, dbo.fnUtil_Random(@NumEmployees) AS RandomRank FROM dbo.fnUtil_ParseCriteria(@CustomerIDs, 'int') c) SELECT rc.CustomerID, ep.EmployeeID FROM RandomizedCustomers rc JOIN #EmployeePool ep ON ep.EmployeeRank = rc.RandomRank; DROP TABLE #EmployeePool; The following can be assumed about all executions of the above: The result of dbo.fnUtil_Random() is always an int value greater than zero and less than or equal to the argument passed in. Since it's being called above with @NumEmployees which has the value 2, this function always evaluates to 1 or 2. The result of dbo.fnUtil_ParseCriteria(@CustomerIDs, 'int') produces a one-column, one-row table that contains a sql_variant with a base type of 'int' that has the value 219935. Given the above assumptions, it makes sense (to me, anyway) that the result of the expression above should always produce a two-column table containing one record - CustomerID and an EmployeeID. The CustomerID should always be the int value 219935, and the EmployeeID should be either 42 or 43. However, this is not always the case. Sometimes I get the expected single record. Other times I get two records (one for each EmployeeID), and still others I get no records. However, if I replace the RandomizedCustomers CTE with a true temp table, the problem vanishes completely. Every time I think I have an explanation for this behavior, it turns out to not make sense or be impossible, so I literally cannot explain why this would happen. Since the problem does not happen when I replace the CTE with a temp table, I can only assume it has something to do with the functions inside CTEs are evaluated during joins to that CTE. Do any of you have any theories?

    Read the article

< Previous Page | 176 177 178 179 180 181 182 183 184 185 186 187  | Next Page >