Forums Register Login

Question about "null" intepretations

+Pie Number of slices to send: Send
Hi people,

sorry i have a question which might be stupid but i want to clarify something. For my DB interface i have the following statement:

// Returns an array of record numbers that match the specified
// criteria. Field n in the database file is described by
// criteria[n]. A null value in criteria[n] matches any field
// value. A non-null value in criteria[n] matches any field
// value that begins with criteria[n]. (For example, "Fred"
// matches "Fred" or "Freddy".)
public int[] find(String[] criteria);

does a null value in can be null or "" or it only refers to null?
+Pie Number of slices to send: Send
null is null in my opinion. Empty is something completely different.
+Pie Number of slices to send: Send
Benjamin,
Refer to Roberto Buddy's test. He uses String[] criteria = {"Palace", "Smallvile", null, null, null, null, null} to test his find algorithm. I believe our assignment should have null pointer exception handling in this case.
+Pie Number of slices to send: Send
Hi Benjamin

If you read the comments carefully you should have realized that "null" indicates a wildcard.
+Pie Number of slices to send: Send
thanks for the reply everyone. Now i doing junit testing on the find method for the Data.java and i need some clarification. If my criteria array is all empty value which means is {"","","","","",""}, what should the expected result for the find method? 0 records or all valid record in the database?
+Pie Number of slices to send: Send
0 records.
Because all records have their names and cities. Their names and cities are not "".
+Pie Number of slices to send: Send
 

Himai Minh wrote:0 records.
Because all records have their names and cities. Their names and cities are not "".



how about i pass in a String array of {null,null,"","","",""}, is the expected result still 0?
+Pie Number of slices to send: Send
In my find-method passing an array containing all null-values will result in all valid records being returned. If an array is passed with non-null values the null values are simply ignored.
+Pie Number of slices to send: Send
 

Benjamin Ng wrote:

Himai Minh wrote:0 records.
Because all records have their names and cities. Their names and cities are not "".



how about i pass in a String array of {null,null,"","","",""}, is the expected result still 0?



The expected result is all records. K Tsang buddy said null indicates a wildcard. The first "null" indicates all records with any name. The second null indicates all records with any city.

If you have a string array of {null, "New York", null, null, null, null}. The expected result is any name in New York city.
+Pie Number of slices to send: Send
 

Himai Minh wrote:

Benjamin Ng wrote:

Himai Minh wrote:0 records.
Because all records have their names and cities. Their names and cities are not "".



how about i pass in a String array of {null,null,"","","",""}, is the expected result still 0?



The expected result is all records. K Tsang buddy said null indicates a wildcard. The first "null" indicates all records with any name. The second null indicates all records with any city.

If you have a string array of {null, "New York", null, null, null, null}. The expected result is any name in New York city.



Sorry i am getting confused. Let me clarify something, based on my understanding, if i send a String array of {null,null,"","","",""}, shouldn't the expected result is 0 because even though both name and location are using null, but the rest of the search is not using wildcard so the check should be something like <is the rate begins with "">, <is the size begins with "">, <is the owner begins with ""> which for these cases they are not begin with "" so the final results is return 0 records?
+Pie Number of slices to send: Send
Hi Benjamin buddy,
Agree. This is confusing.
You may want to assume "" is a value. For example, name is "".
If the name criteria is "", search for names "".
If the name criteria is null, return all records with any name.

Agree with this ?
+Pie Number of slices to send: Send
 

Himai Minh wrote:Hi Benjamin buddy,
Agree. This is confusing.
You may want to assume "" is a value. For example, name is "".
If the name criteria is "", search for names "".
If the name criteria is null, return all records with any name.

Agree with this ?



Yes i agreed.
Just the other day, I was thinking ... about this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 1095 times.
Similar Threads
Urly bird find method: are search criteria "and"- or "or"-composed?
B&S: Passed 373/400
[NX] Question about the findByCriteria.
Searching
A null value in criteria[n] matches any field value
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 06:47:49.