Be careful with this. For in-lining all the in-lined vis must be re-entrant. This can cause "database locked" errors when running concurrently even with shared cache. Choose which ones are in-lined very carefully. (You'll get about another 10 ms by doing this and LV2010 is about 10 ms faster than LV2009 too )
As an aside. I'd love to see the result from using SQLite on an SD drive. I'm very impressed with SQLite and will be using it a lot in future.
Interesting. Did you get sqlite_column_blob working? You probably saw my note about it in the get column VI. Being able to call that function (instead of my work-around) would have saved a lot of effort).
Strings are the ultimate variant IMHO. I'm not a fan of the variant data type which I consider a poor relation to strings for many reasons. But that's a personal opinion.
You don't need to escape strings with ( ' ). That's a requirement for properly formatted SQL rather than an implementation requirement. The onus is on the user to enforce this rather than as a function of the API. It is was MySQL they would have to do the same.
That' is the only place since the subroutines use for-loops instead of while loops. I'll have a play and maybe implement it for the next release. Good call
Hmm. I need to think about this one.
It "mostly" has...
The dll is the killer. Cross-compiling is real "geeks" territory and I avoid C like the plague unless I'm dragged kicking and screaming like a 4 year-old. But then I have a compiler for the particular target and C programmers are plentiful
I cannot find a definitive list for the functions supported under RTWin. So the only option is to try it. and hope for the best.
Not sure whether it should have spaces between the characters but CR and LF should be replaced with \n and \r. Try something like "esc040\n\r" (without quotes) if that doesn't work try the same with spaces. Make sure your string control in the left hand example is set to '\' Codes Display (right click menu). In the max example try the same. It's not SCPI compliant so it won't respond to an IDN? command.
I think your being a bit pedantic. I too agree with your take. But I wouldn't charge a premium rate. It would be my standard rate. Software is software. Like I said. Its a contractor question. Contractors are valued by their time on a specific task. Employees are valued by contributions (not only time) on various goals.
I'm reminded of the saying...
Software is like a fart. Yours is OK. But everyone else's stinks.
Charge more because it stinks so badly I can taste it? That's a contractor question but my view would be the same. I wouldn't charge more.
If I think software is too bad, I would decline the contract because you can't sit there and whine after you've taken responsibility for it. You've been contracted to do software!
If I really must work with it. then I'll re-code it. I'd just escalate the time-scale to account for the "learning curve" and "recoding". Then they can either accept or decline.
If it is false only the reference you wire to it will be closed. If it is the last reference, the queue is also destroyed regardless if you set it to true or false.What can happen is that you get "intermittent" failures if you don't get the close exactly right. Since one part of your code may close the last ref just before another part tries to dequeue/enqueue etc.. Then a loop that obtains a reference comes around again an re-creates it but you cannot track down where the error is coming from.
Funny you should say that. Downland 1.1 I've just posted above.
Using the benchmark (supplied in the update)
Insert ~350ms
Select ~90ms
The initial release was really for me to get acquainted with SQLite map out the feature list. I'm thinking I maybe able to shave off a few more ms in the next release. Its a shame the"convenience" functions are unavailable to us
Indeed. That's the next feature that I will be implementing and I was also thinking that would improve the insert speed.
Good feedback. Not having other (working) implementations to compare against, I really need this kind of input.
What are you running Win x64? LVx64? I don' t suppose you happen to have am RT Pharlap target?
I've been bitten by this before too.Now I use this vi. It ensures there is only ever 1 reference to a queue, you don't need thousands of wires all over your diagram and you can easily access queues from other VIs.
I hope that not the case with my cars ECU
Indeed.
I don't know here to start with this statement.
Of the 161 known issues in LV2010, 125 are from previous versions (~78% if I've counted correctly). Rumour?
Should I run for cover now?
The first error it came up with (with what you described) was here.
Check that path exists.
I changed if the "c:\ftpscript.txt" and no longer got the file error (obviously). However, it then complained about this one (again doesn't exist...but then it probably wouldn't on my machine)
By adding an error out indicator Labview will no longer automatically handle the error.
But you really need to think about your error handling because currently the software is not robust and I can see you spending the next 2 weeks creating directories that the software thinks should be there..
If its a waveform you can use the "Array To Spreadsheet.vi" and store it as a comma delimited string. Or even each separate value with a time stamp in its own table.
As I've said before. the Events in LV need an overhaul. There are lots of available events that we should be able to hook into. We have an event for when a VI is activated, why not when it exits, or is loaded, minimized, maximized etc?