Well, unfortunately it isn't as simple as changing the error message. The maximum filename length can be well over the maximum error message size (which seems to be 256). What is needed is a more up-to-date error message system where we won't be limited to the 256 character limit. I haven't explored how much effort there is in that.
-Dave On Tue, Nov 2, 2010 at 1:57 PM, Patrick Crews <[email protected]> wrote: > So you're thinking this behavior needs to be changed? > > If so, cool - it seemed to limit how informative the messages are if they > are truncated. > Want me to write up a bug on this? > > Thanks for taking a look at this. > > Patrick > > On Mon, Nov 1, 2010 at 10:32 AM, David Shrewsbury > <[email protected]> wrote: >> >> From drizzled/error.cc: >> >> add(ER_TEXTFILE_NOT_READABLE, N_("The file '%-.128s' must be in the >> schema directory or be readable by all")); >> >> Only 128 characters are printed for the path+file. The my_error() function >> uses >> a statically sized buffer of ERRMSGSIZE + 20, where this is the max error >> message size (256) plus the 20 extra characters. >> >> We need a replacement for our wonderfully crappy error message system. >> >> -Dave >> >> >> On Tue, Oct 26, 2010 at 12:51 PM, Patrick Crews <[email protected]> wrote: >> > Hi guys, >> > >> > So here's the scenario: >> > Several tests that used INFILE operations were failing when we used the >> > --mem option. The reason was the tests used hard-coded relative paths >> > rather than $DRIZZLETEST_VARDIR. When the vardir was in /tmp and the >> > test >> > expected ../../stddata_ln, things failed. >> > >> > I went and changed the tests, but we have discovered a new problem. By >> > including the vardir path rather than '../../tmp', we are seeing >> > truncation >> > in our error messages >> > >> > For the output below, please note the length of the path to the vardir >> > and >> > how the message has been truncated. This is only a problem for those >> > test >> > cases that expect a failure. The truncation appears to limit the >> > message to >> > set llength limit - it's just a coincidence that we cut off right at >> > 'tmp/' >> > in this case. >> > >> > main.outfile [ fail ] >> > --- ../../tests/r/outfile.result 2010-10-26 20:44:28.000000000 >> > +0300 >> > +++ >> > >> > /home/hudson/hudson/workspace/drizzle-param/BUILD_TYPE/release/label/fedora-12-amd64/drizzle7-2010.10.1880/_build/tests/var/log/outfile.reject >> > 2010-10-26 >> > 20:55:19.120839658 +0300 >> > >> > @@ -17,7 +17,7 @@ >> > ERROR HY000: File 'DRIZZLETEST_VARDIR/tmp/outfile-test.2' already >> > exists >> > ERROR HY000: File 'DRIZZLETEST_VARDIR/tmp/outfile-test.3' already >> > exists >> > select load_file(concat(@tmpdir,"/outfile.not-exist")); >> > >> > -ERROR HY000: The file 'DRIZZLETEST_VARDIR/tmp/outfile.not-exist' must >> > be in >> > the schema directory or be readable by all >> > +ERROR HY000: The file 'DRIZZLETEST_VARDIR/tmp/' must be in the schema >> > directory or be readable by all >> > >> > >> > It might be possible to go through and alter the tests to mask things, >> > but I >> > did want to solicit thoughts on this before I proceeded. >> > Mainly, I'm concerned that using a REPLACE RESULT to make >> > DRIZZLETEST_VARDIR/tmp/outfile.not-exits -> IMMABADFILE (or somesuch) is >> > only a patch - if path lengths were longer, the test could start failing >> > again. Also, we'd be sacrificing come clarity in our tests. >> > >> > Any feedback is most welcome, >> > Patrick >> > >> > >> > _______________________________________________ >> > Mailing list: https://launchpad.net/~drizzle-discuss >> > Post to : [email protected] >> > Unsubscribe : https://launchpad.net/~drizzle-discuss >> > More help : https://help.launchpad.net/ListHelp >> > >> > > > _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

