dbTalk Databases Forums  

Bad bug in MVSP Insert()...

comp.databases.pick comp.databases.pick


Discuss Bad bug in MVSP Insert()... in the comp.databases.pick forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Gene Buckle
 
Posts: n/a

Default Bad bug in MVSP Insert()... - 09-23-2011 , 10:48 AM






To: comp.databases.pick
Just FYI for those using the MVSP .Net library, the Insert function has
a very ugly bug.

When doing an insert to a blank string, it generates bad data.

value = TIGR.MVSP.Functions.Insert(value, -1, "new value")

Instead of the contents of value being "new value", it's actually
<blank> @am "new value".

This happens because the Insert() routine isn't checking to see if the
destination string is blank - it just blindly tacks on an @am followed by
the value specified for the insert. I've posted this to the MVSP forum
at TigerLogic. I hope they get this one fixed soon because it's a show
stopper in my process of moving my old ODBC class library code to MVSP.

If anyone is using the Java version of the MVSP library, you might want to
check to see if this bug is present there as well.

g.

--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://www.diy-cockpits.org/coll - Go Collimated or Go Home.
Some people collect things for a hobby. Geeks collect hobbies.

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
http://www.scarletdme.org - Get it _today_!

Political correctness is a doctrine, fostered by a delusional, illogical
minority, and rabidly promoted by an unscrupulous mainstream media, which
holds forth the proposition that it is entirely possible to pick up a turd
by the clean end.
--- Synchronet 3.15a-Win32 NewsLink 1.91
The Retro Archive - telnet://bbs.retroarchive.org

Reply With Quote
  #2  
Old   
frosty
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-23-2011 , 01:24 PM






On 9/23/11 9:48 AM, Gene Buckle wrote:
Quote:
To: comp.databases.pick
Just FYI for those using the MVSP .Net library, the Insert function has
a very ugly bug.

When doing an insert to a blank string, it generates bad data.

value = TIGR.MVSP.Functions.Insert(value, -1, "new value")

Instead of the contents of value being "new value", it's actually
blank> @am "new value".

This happens because the Insert() routine isn't checking to see if the
destination string is blank - it just blindly tacks on an @am followed by
the value specified for the insert. I've posted this to the MVSP forum
at TigerLogic. I hope they get this one fixed soon because it's a show
stopper in my process of moving my old ODBC class library code to MVSP.

If anyone is using the Java version of the MVSP library, you might want to
check to see if this bug is present there as well.
By "blank string" do you mean "a string containing one character, the
space character" or do you mean "a null (empty) string"?

If you mean the former, then the insert is performing correctly,
giving you an end result with two attributes, the first being
the one space character and the second being your newly inserted
value.

--
frosty

Reply With Quote
  #3  
Old   
Gene Buckle
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-24-2011 , 04:01 PM



To: frosty
frosty wrote:
Quote:
From Newsgroup: comp.databases.pick

On 9/23/11 9:48 AM, Gene Buckle wrote:
To: comp.databases.pick
Just FYI for those using the MVSP .Net library, the Insert function has
a very ugly bug.

When doing an insert to a blank string, it generates bad data.

value = TIGR.MVSP.Functions.Insert(value, -1, "new value")

Instead of the contents of value being "new value", it's actually
blank> @am "new value".

This happens because the Insert() routine isn't checking to see if the
destination string is blank - it just blindly tacks on an @am followed by
the value specified for the insert. I've posted this to the MVSP forum
at TigerLogic. I hope they get this one fixed soon because it's a show
stopper in my process of moving my old ODBC class library code to MVSP.

If anyone is using the Java version of the MVSP library, you might want to
check to see if this bug is present there as well.

By "blank string" do you mean "a string containing one character, the
space character" or do you mean "a null (empty) string"?

If you mean the former, then the insert is performing correctly,
giving you an end result with two attributes, the first being
the one space character and the second being your newly inserted
value.

By blank I mean a totally empty, null string. I would agree that if the
string already had something in it, the @am+new_value append would be correct.

TL has opened a new bug for this.

g.

--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://www.simpits.org/geneb - The Me-109F/X Project
Some people collect things for a hobby. Geeks collect hobbies.

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
http://www.scarletdme.org - Get it _today_!

Political correctness is a doctrine, fostered by a delusional, illogical
minority, and rabidly promoted by an unscrupulous mainstream media, which
holds forth the proposition that it is entirely possible to pick up a turd
by the clean end.
--- Synchronet 3.15a-Win32 NewsLink 1.91
The Retro Archive - telnet://bbs.retroarchive.org

Reply With Quote
  #4  
Old   
GlenB
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-28-2011 , 12:41 PM



Quote:
TL has opened a new bug for this.

g.

A new action item? Heh.. I know whacha mean but it looks like a
subconscious slip-up suggesting this problem will now be replaced by a
different and new problem.

-- the other 'G'..

PS: I'll try to pop in IRC soon during the day.. lots of construction
stuff going on and trying to push out the new shopping cart/checkout
before spooky day.

Reply With Quote
  #5  
Old   
Gene Buckle
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-29-2011 , 08:43 AM



To: GlenB
GlenB wrote:
Quote:
From Newsgroup: comp.databases.pick


TL has opened a new bug for this.

g.


A new action item? Heh.. I know whacha mean but it looks like a
subconscious slip-up suggesting this problem will now be replaced by a
different and new problem.

Yeah. The MVSP library is pretty minimal and is pretty lackluster in
comparison with the feature set in the D3 Class Library.

After I'm done with my current porting project I'm going to develop
something that'll encapsulate the MVSP stuff in something that will be
transparently compatible with the old style class library. If it doesn't
turn out to be a total dogs breakfast I'll post it online for others to use.

The MVSP docs are pretty bad too - whoever was responsible for that particular
part of the project really should go stand in the corner.

TL tells me that the fix is in the testing process now. It surprises me that
they're on it this fast considering my prior experiences.


Quote:
PS: I'll try to pop in IRC soon during the day.. lots of construction
stuff going on and trying to push out the new shopping cart/checkout
before spooky day.
Email me first - My IRC "schedule" has become extremely erratic.

g.

--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://www.simpits.org/geneb - The Me-109F/X Project
Some people collect things for a hobby. Geeks collect hobbies.

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
http://www.scarletdme.org - Get it _today_!

Political correctness is a doctrine, fostered by a delusional, illogical
minority, and rabidly promoted by an unscrupulous mainstream media, which
holds forth the proposition that it is entirely possible to pick up a turd
by the clean end.
--- Synchronet 3.15a-Win32 NewsLink 1.91
The Retro Archive - telnet://bbs.retroarchive.org

Reply With Quote
  #6  
Old   
Tony Gravagno
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-29-2011 , 10:44 AM



"Gene Buckle" wrote:

Quote:
Glen wrote:
A new action item? Heh.. I know whacha mean but it looks like a
subconscious slip-up suggesting this problem will now be replaced by a
different and new problem.
Heck man, a problem was reported and an action item filed within a
day. What else should they be doing? Glen, your cause/effect
relationship there is typical for CDP but very untypical for you.

Let's put this in perspective. This specific issue isn't THAT
egregious, can very easily be worked-around (though of course one
shouldn't need to) and very easily "un-worked-around" when a core fix
is implemented. There's no show stopper here.

Quote:
Yeah. The MVSP library is pretty minimal and is pretty lackluster in
comparison with the feature set in the D3 Class Library.
Sure but it's also extensible. I have a small library of extensions
now to give it more "oompf" (and to work around little issues like
this -1 thing, of which I've found a few). It just took a couple days
to come up with solid extensions where for some reason the minimal
MVSP library itself was in beta for a year. I really don't get that,
but OK, we have it now and it works.

Quote:
After I'm done with my current porting project I'm going to develop
something that'll encapsulate the MVSP stuff in something that will be
transparently compatible with the old style class library.
I was tempted to do something similar. But MVSP is a completely new
library and I think it would be better to move forward with it than
back. Extend what's there rather than encapsulating in something new.
The number of people who would benefit from something that looks like
D3CL is really tiny. Sure, add features, but I'm just saying it's not
necessary to try to shoehorn those features into the same class
structures or signatures as D3CL.

Quote:
If it doesn't
turn out to be a total dogs breakfast I'll post it online for others to use.
YMMV but I've been so turned off from contributing FOSS to this
community that it's really depressing.

Quote:
The MVSP docs are pretty bad too - whoever was responsible for that particular
part of the project really should go stand in the corner.
You may recall that I was writing a small book on MVSP when it first
came out. After a couple chapters I decided the audience would be so
small that it really wasn't worth the time anymore. Maybe that's what
they were thinking at TL too. :b

Quote:
TL tells me that the fix is in the testing process now. It surprises me that
they're on it this fast considering my prior experiences.
I'm not surprised. They were aggressive about MVSP from the
beginning. One day from report to testing a fix? Did Martin find new
employment?


Quote:
PS: I'll try to pop in IRC soon during the day.. lots of construction
stuff going on and trying to push out the new shopping cart/checkout
before spooky day.

Email me first - My IRC "schedule" has become extremely erratic.

g.
Been a long time since IRC (picksource days). What channel? Any
schedule?

Best,
T

Reply With Quote
  #7  
Old   
GlenB
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-29-2011 , 11:37 AM



On Sep 29, 11:44*am, Tony Gravagno <tony_grava... (AT) nospam (DOT) invalid>
wrote:
Quote:
"Gene Buckle" wrote:
Glen wrote:
A new action item? Heh.. I know whacha mean but it looks like a
subconscious slip-up suggesting this problem will now be replaced by a
different and new problem.

Heck man, a problem was reported and an action item filed within a
day. *What else should they be doing? *Glen, your cause/effect
relationship there is typical for CDP but very untypical for you.

It's a fun stab at TL. Don't read anything into it.

Quote:
Been a long time since IRC (picksource days). *What channel? *Any
schedule?

Best,
T
irc.freenode.net ##pick
There is no schedule. I hang around when I'm waiting on stuff to
move projects forward. Normally I'm not online but I'll pop in here
and there to see if anyone's idling. I also will pop in ##pick if I
have to ask something on #debian, #postfix or #httpd or feel like
offering support.

-Glen

Reply With Quote
  #8  
Old   
Ross Ferris
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-29-2011 , 06:38 PM



On Sep 29, 11:43*pm, "Gene Buckle"
<gene.buc... (AT) bbs (DOT) retroarchive.org.remove-qzy-this> wrote:
Quote:
TL tells me that the fix is in the testing process now. *It surprises me that
they're on it this fast considering my prior experiences.

Personally I'm not THAT surprised .... in recent years I've found TL
to be VERY responsive, and I think that is a (very good) reflection of
the current management

Reply With Quote
  #9  
Old   
Gene Buckle
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-30-2011 , 09:53 AM



To: Tony Gravagno
Tony wrote:
Quote:
From Newsgroup: comp.databases.pick

"Gene Buckle" wrote:

Yeah. The MVSP library is pretty minimal and is pretty lackluster in
comparison with the feature set in the D3 Class Library.

Sure but it's also extensible. I have a small library of extensions
now to give it more "oompf" (and to work around little issues like
this -1 thing, of which I've found a few). It just took a couple days
The -1 issue is embarassing. It NEVER should have made it out of beta with
such a fundamental flaw. I suspect the guy that wrote the code has either
never written code in Pick BASIC or was very, very new to it.

Quote:
After I'm done with my current porting project I'm going to develop
something that'll encapsulate the MVSP stuff in something that will be
transparently compatible with the old style class library.

I was tempted to do something similar. But MVSP is a completely new
library and I think it would be better to move forward with it than
back. Extend what's there rather than encapsulating in something new.
The number of people who would benefit from something that looks like
D3CL is really tiny. Sure, add features, but I'm just saying it's not
necessary to try to shoehorn those features into the same class
structures or signatures as D3CL.

It's not a matter of shoe-horning features in. It's about making my life
easier. I've got a 200k+ LOC project to port to MVSP and the last thing I
want to do is do a whole ton of hand editing to change thousands of
brExtractStr() and brInsertStr() to their MVSP equivalents.

Quote:
If it doesn't
turn out to be a total dogs breakfast I'll post it online for others to use.

YMMV but I've been so turned off from contributing FOSS to this
community that it's really depressing.

It's the whole per-seat pricing mentality that makes it tough Tony. That and
a whole lot of "what's in it for ME?!" attitude. Frankly, I don't care either
way. If I deem it a worthy example of my work (and I get permission from my
employer), I'll post it. If someone benefits from it, great. If not, no big
deal.


Quote:
The MVSP docs are pretty bad too - whoever was responsible for that particular
part of the project really should go stand in the corner.

You may recall that I was writing a small book on MVSP when it first
came out. After a couple chapters I decided the audience would be so
small that it really wasn't worth the time anymore. Maybe that's what
they were thinking at TL too. :b

A good treatise on MVSP might attract more people to it - you never know.

Frankly, I'd love to see a huge uptake in the use of MVSP, especially over
per-seat priced solutions.


Quote:
Been a long time since IRC (picksource days). What channel? Any
schedule?

irc.freenode.net, channel is ##pick.

g.

--
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://http://www.diy-cockpits.org/coll - Go Collimated or Go Home.
Some people collect things for a hobby. Geeks collect hobbies.

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
http://www.scarletdme.org - Get it _today_!

Political correctness is a doctrine, fostered by a delusional, illogical
minority, and rabidly promoted by an unscrupulous mainstream media, which
holds forth the proposition that it is entirely possible to pick up a turd
by the clean end.
--- Synchronet 3.15a-Win32 NewsLink 1.91
The Retro Archive - telnet://bbs.retroarchive.org

Reply With Quote
  #10  
Old   
Tony Gravagno
 
Posts: n/a

Default Re: Bad bug in MVSP Insert()... - 09-30-2011 , 08:36 PM



Gene, we're in sync. Preface all my responses here with "I hear ya
bud".

"Gene Buckle" wrote:
Quote:
The -1 issue is embarassing. It NEVER should have made it out of beta with
such a fundamental flaw. I suspect the guy that wrote the code has either
never written code in Pick BASIC or was very, very new to it.
Or the code was written, tested, functional, and some subsequent
update broke things. I won't make excuses, and have no idea how
specific issues leak through anyone's testing cycle, but I do know the
guys who wrote the MVSP libs are very diligent and tested it for a
long time. Hey, things happen. Like with Martin and QM, some bugs
aren't important as long as we know they will be fixed quickly.
That's where some of these products get a black eye - vendor
responsiveness. TL has been doing pretty well over the last couple
years, that's probably why I cut them more slack these days.

What could be more embarrassing is that this library has been out for
"how long" now, and this is only being discovered and fixed now?!
Personally I think the issue is less technical and more a matter for
Marketing.


Quote:
It's not a matter of shoe-horning features in. It's about making my life
easier. I've got a 200k+ LOC project to port to MVSP and the last thing I
want to do is do a whole ton of hand editing to change thousands of
brExtractStr() and brInsertStr() to their MVSP equivalents.

If it doesn't
turn out to be a total dogs breakfast I'll post it online for others to use.
Yeah, that can be painful. If you do this I recommend using standard
Design Patterns, ensuring good form as well as functionality.



Quote:
YMMV but I've been so turned off from contributing FOSS to this
community that it's really depressing.

It's the whole per-seat pricing mentality that makes it tough Tony. That and
a whole lot of "what's in it for ME?!" attitude. Frankly, I don't care either
way. If I deem it a worthy example of my work (and I get permission from my
employer), I'll post it. If someone benefits from it, great. If not, no big
deal.
By "per-seat" I'm guessing you're referring to mv.NET. I certainly
wasn't. Sure, I use and sell mv.NET but there are times when we don't
want or need it. Right tools for the job and all that. No, I was
seriously talking about FOSS and how projects like that notoriously
fail in this market.

(Just making conversation, no real point...) As usual it comes down
to everyone taking, no one giving, and if you're lucky the "demand"
comes in the form of a few people just telling you what's wrong with
code rather than offering to send a cup of coffee for enhancements. I
have no problem with FOSS in general and I have a bunch of them in the
air - just trying to give back to the bazaar what I've consumed, so to
speak. Combining all this, I'm just saying the effort to publish a
wrapper lib for the D3CL as FOSS is a Lot of effort for a handful of
people who probably won't care, and with Very little reward except for
warm fuzzies. But it can never hurt to publish something you do and
hope that someone helps you to make it better just by pointing out
flaws that you might fall into with your own code.



Quote:
The MVSP docs are pretty bad too - whoever was responsible for that particular
part of the project really should go stand in the corner.

You may recall that I was writing a small book on MVSP when it first
came out. After a couple chapters I decided the audience would be so
small that it really wasn't worth the time anymore. Maybe that's what
they were thinking at TL too. :b

A good treatise on MVSP might attract more people to it - you never know.

Frankly, I'd love to see a huge uptake in the use of MVSP, especially over
per-seat priced solutions.
Me too. I think MVSP is kinda cool but I didn't want to get into it
TOO far until I saw others using it.

Coming back to mv.NET though, MVSP (.NET/Java) is now in line with
UO.NET/UOJava, QMClient, and others. mv.NET uses those tools for
basic connectivity while providing a superset of higher functionality.
mv.NET (OK, take this as an [ad]) provides session pooling, code
generation, Silverlight integration, and an ADO.NET interface. These
features are not found elsewhere, with the exception of UO.NET which
has a good deal of ADO.NET, and UO.NET has session pooling for a hefty
price. In any case, you get what you pay for. If you just want basic
connectivity, then no, don't pay for more. My only struggle with this
stuff is when people say "I get the same thing here for free" and
that's nothing less than an uninformed statement. I know you didn't
say that, but for someone who doesn't know the differences between
these offerings yet I just want to make sure people understand that
MVSP will never have the same functionality as mv.NET. TL has openly
stated as much. Their goal was to provide a solid, free pipe, not to
compete with products with more functionality. Of course the door is
open for them to do what they wish with their software based on field
demand. Ask and ye shall ... wait forever... ?

Regards,
T

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.