Search
Active

0
Sign in to vote
0
Sign in to vote
Sign in
to vote
Type: Bug
ID: 473353
Opened: 7/8/2009 3:04:01 PM
Access Restriction: Public
0
Workaround(s)
0
User(s) can reproduce this bug
Full description located in Live Framework Forums
http://social.msdn.microsoft.com/Forums/en-US/liveframework/thread/610566a9-03b8-4b52-bc8f-2a5907e93ba9/

In summary:

- You CANNOT use the startswith() or contains() filters if the DataFeed contains a DataEntry where the field referenced in the function (in this case Type) == null. I presume this applies to other fields; however, i haven't confirmed it--i know it's the case with Type.

- The operators, such as eq and ne work fine on null fields. Only the partial match functions startswith, contains, etc. will fail.
Details (expand)
Repro Steps
i have a LINQ query that looks like:

var tagEntries = (from te in mc.TagsDF.CreateQuery<DataEntry>()
where te.Resource.Type.StartsWith(type)
select te);
This is generating a URL like:

https://user-ctp.windows.net/V0.1/Mesh/MeshObjects/<MeshObjectID>/DataFeeds/<DataFeedID>/Entries/?$filter=startswith(Type,'Tag')

Problem: This query does not work. Same behavior executing directly from the LiveFX Browser...

However, the following query with Title instead of Type will work:

https://user-ctp.windows.net/V0.1/Mesh/MeshObjects/<MeshObjectID>/DataFeeds/<DataFeedID>/Entries/?$filter=startswith(Title,'Tag')

There is very little documentation on $filter limitations--only a small list of examples, of which startswith(Type,'value') is excluded.

It appears my problem is currently isolated to a particular DataFeed. I have tested the $filter=startswith(Type,'Tag') function on other DataFeeds with success. However, on the feed i need it to work on, i'm receiving the following error:

{
"Title" : "ErrorResource",
"Code" : 410,
"Message" : "An error has occurred."
}
Cause of Problem

After more investigation, I have determined the cause of this problem--these functions break if there are DataEntries without a Type field or Type == null. In summary:

- You CANNOT use the startswith() or contains() filters if the DataFeed contains a DataEntry where the field referenced in the function (in this case Type) == null. I presume this applies to other fields; however, i haven't confirmed it--i know it's the case with Type.

- The operators, such as eq and ne work fine on null fields. Only the partial match functions startswith, contains, etc. will fail.


Work Around

THIS IS A BUG from my perspective. I would like the LiveFX team to validate that or explain why if this is as it was intended.

If you use any of the partial match functions, then the work-around is simply to ensure no DataEntries have null values for that field. In my case, once all of my DataEntries had a value for Type, the partial match functions work.
What OS are you using on your computer?
Vista SP1 (Ultimate)
What platform is your OS?
x86
Where in the product are you seeing your problem?
Live Framework
What browser are you using to view Live Mesh?
PC - Internet Explorer 8

Our team will be able to actively investigate your issue if you provide your logs

Our team will be able to actively investigate your issue if you provide your logs
 

You will be given the option of attaching log files to your bug after you click the submit button below. 

To create the log files for Live Framework Client reporting:

1.  Click Start
2.  Select All Programs so that you are looking at the program folder for Live Framework Client (see screenshot below).
3.  Click Collect Logs
4. Your logs will be bundled together in a cab file named LiveFxClientLogs.cab saved on your desktop.
5. Complete the bug form and provide as much details as possible for our team to be able to understand and investigate your issue
6. Submit your bug. You will attach the cab file after the bug has been submitted.
7. On the bottom of the next page click attach files.
8. Attach the LiveFxClientLogs.cab saved on your desktop.

Thank you for helping us build a better product!


Installation issues

If you run into an error during the installation of the Live Mesh software a Servicing.log will be created.  The easiest way to find this log file:

1.  Click Start
2.  In the search bar (Vista) or Click Search (XP/2003) type Servicing*
3.  In the search results you will see Servicing.log or Servicing(0000).log depending on where the installation failed. 

To directly go to the file, the Servicing log is in INSTALLDIR\Setup\Servicing.log or %temp%\Live Mesh\Servicing[0000].log if Live Mesh was uninstalled/rolled back during a failed installation.

1. Submit a new bug and enter all information that will help us understand and investigate your issue.
2. Once completed submit your bug (you will attach the log file after the bug has been submitted)
3. On the bottom of the next page click attach files.
4. Attach your Servicing.log file to your bug.

File Attachments
0 attachments
Sign in to post a comment.