Thread: [Codestriker-user] DBD::ODBC::st fetchrow_array failed
Brought to you by:
sits
From: Moisei R. <mo...@gm...> - 2006-07-25 10:42:15
|
Hi, just in case it is interesting to somebody. Today I faced following error when launched codestriker topic-list: DBD::ODBC::st fetchrow_array failed: [Microsoft][ODBC SQL Server Driver]String data, right truncation (SQL-01004)(DBD: st_fetch/SQLFetch (long truncated DBI attribute LongTruncOk not set and/or LongReadLen too small) err=-1) at ......../codestriker/bin/../lib/Codestriker/Model/Topic.pm line 260. After some review, I've found that LongReadLen is hardcoded to 1024000 in Database.pm line 64. After I increased this value x10 time (to 10240000) - I did not expire this error anymore. I did not do any more investigations, since this solution works well for me, however I am just wondered whether it is good enough. -- Best Regards, Moisei |
From: David S. <si...@us...> - 2006-08-07 02:14:17
|
Hi Moisei, Thanks for the message. I've never had this problem before over many years, with some very large topics... do you have some really large topics in your database? Anyway, it might be worth increasing this value as you have done to avoid this in the future. I'll commit this into CVS for the 1.9.2 release. Cheers, David Moisei Rabinovich wrote: > Hi, > just in case it is interesting to somebody. Today I faced following > error when launched codestriker topic-list: > DBD::ODBC::st fetchrow_array failed: [Microsoft][ODBC SQL Server > Driver]String data, right truncation > (SQL-01004)(DBD: st_fetch/SQLFetch (long truncated DBI attribute > LongTruncOk not set and/or LongReadLen too small) > err=-1) at ......../codestriker/bin/../lib/Codestriker/Model/Topic.pm > line 260. > > After some review, I've found that LongReadLen is hardcoded to 1024000 > in Database.pm <http://Database.pm> line 64. > After I increased this value x10 time (to 10240000) - I did not expire > this error anymore. > > I did not do any more investigations, since this solution works well for > me, however I am just wondered whether it is good enough. > > -- > Best Regards, > Moisei > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > ------------------------------------------------------------------------ > > _______________________________________________ > Codestriker-user mailing list > Cod...@li... > https://lists.sourceforge.net/lists/listinfo/codestriker-user |
From: Moisei R. <mo...@gm...> - 2006-08-07 06:27:14
|
> do you have some really large topics in your database? o yes! we are doing the real thing! :) seriously, 1024000 bytes ~= 1 M ~= 10K lines of code. I would not say it is an usual case but it may happen when really big feature is merged from the dev. branch to the trunk. Especially taken into account that I do not have a way to filter a generated files from the diff, as well as ignore indentation. I would be great to have such an option in codestriker. Best, Moisei |
From: David S. <si...@us...> - 2006-08-07 07:06:01
|
Moisei Rabinovich wrote: > > do you have some really large topics in your database? > o yes! we are doing the real thing! :) > seriously, 1024000 bytes ~= 1 M ~= 10K lines of code. > I would not say it is an usual case but it may happen when really big > feature is merged from the dev. branch to the trunk. > Especially taken into account that I do not have a way to filter a > generated files from the diff, as well as ignore indentation. > I would be great to have such an option in codestriker. If your generated files have a unique filename extension that you always want to ignore, then check out the @exclude_file_types option in codestriker.conf. By "ignore indentation", do you mean whitespace changes? If you supply the -b option to diff, it will remove whitespace changes from your diff file. Cheers, David |
From: Moisei R. <mo...@gm...> - 2006-08-07 14:05:27
|
well, I probably miss some important point. codestriker generates a diff for me by itself, i only fill start-tag, end-tag and module. where should i set the "-b" option? also I am not sure @exclude_file_types is taken into account in this case On 8/7/06, David Sitsky <si...@us...> wrote: > > Moisei Rabinovich wrote: > > > do you have some really large topics in your database? > > o yes! we are doing the real thing! :) > > seriously, 1024000 bytes ~= 1 M ~= 10K lines of code. > > I would not say it is an usual case but it may happen when really big > > feature is merged from the dev. branch to the trunk. > > Especially taken into account that I do not have a way to filter a > > generated files from the diff, as well as ignore indentation. > > I would be great to have such an option in codestriker. > > If your generated files have a unique filename extension that you always > want to ignore, then check out the @exclude_file_types option in > codestriker.conf. > > By "ignore indentation", do you mean whitespace changes? If you supply > the -b option to diff, it will remove whitespace changes from your diff > file. > > Cheers, > David > > -- Best Regards, Moisei |
From: David S. <si...@us...> - 2006-08-08 02:17:47
|
Moisei Rabinovich wrote: > well, I probably miss some important point. > codestriker generates a diff for me by itself, i only fill start-tag, > end-tag and module. > where should i set the "-b" option? If you always want to ignore whitespace changes, you can do this by modifying lib/Codestriker/Repository/Cvs.pm, line 124. Add the '-b' option so that the code that used to be: my $pid = open3($write_stdin_fh, $read_stdout_fh, $read_stderr_fh, $Codestriker::cvs, '-q', '-d', $self->{url}, 'rdiff', $extra_options, '-u', '-r', $start_tag, '-r', $end_tag, $module_name); Looks like: my $pid = open3($write_stdin_fh, $read_stdout_fh, $read_stderr_fh, $Codestriker::cvs, '-q', '-d', $self->{url}, 'rdiff', $extra_options, '-u', '-b', '-r', $start_tag, '-r', $end_tag, $module_name); ie - the -b option has been added. > also I am not sure @exclude_file_types is taken into account in this case It should be. The same filtering code is run, regardless of whether or not Codestriker generated the diff text, or it was supplied by the user. Cheers, David |
From: Moisei R. <mo...@gm...> - 2006-08-08 05:56:32
|
Ohh, I assumed everybody knows that I use subversion not a CVS. Thanks for the tip anyway, I think, know where to go now. Even svn diff is missing this option natively, there is a way to use 3-rd party diff that knows to ignore the white spaces. On 8/8/06, David Sitsky <si...@us...> wrote: > > Moisei Rabinovich wrote: > > well, I probably miss some important point. > > codestriker generates a diff for me by itself, i only fill start-tag, > > end-tag and module. > > where should i set the "-b" option? > > If you always want to ignore whitespace changes, you can do this by > modifying lib/Codestriker/Repository/Cvs.pm, line 124. Add the '-b' > option so that the code that used to be: > > my $pid = open3($write_stdin_fh, $read_stdout_fh, $read_stderr_fh, > $Codestriker::cvs, '-q', '-d', $self->{url}, > 'rdiff', $extra_options, '-u', > '-r', $start_tag, '-r', $end_tag, $module_name); > > Looks like: > > my $pid = open3($write_stdin_fh, $read_stdout_fh, $read_stderr_fh, > $Codestriker::cvs, '-q', '-d', $self->{url}, > 'rdiff', $extra_options, '-u', '-b', > '-r', $start_tag, '-r', $end_tag, $module_name); > > ie - the -b option has been added. > > > also I am not sure @exclude_file_types is taken into account in this > case > > It should be. The same filtering code is run, regardless of whether or > not Codestriker generated the diff text, or it was supplied by the user. > > Cheers, > David > -- Best Regards, Moisei |
From: David S. <si...@us...> - 2006-08-08 06:18:01
|
Looks like it is possible, but the command line needs to be modified further. Check out: http://www.akatombo.com/index/en/comments/ignore_whitespace_in_a_subversion_diff/ Cheers, David Moisei Rabinovich wrote: > Ohh, I assumed everybody knows that I use subversion not a CVS. > Thanks for the tip anyway, I think, know where to go now. > Even svn diff is missing this option natively, there is a way to use > 3-rd party diff that knows to ignore the white spaces. > > On 8/8/06, *David Sitsky* <si...@us... > <mailto:si...@us...>> wrote: > > Moisei Rabinovich wrote: > > well, I probably miss some important point. > > codestriker generates a diff for me by itself, i only fill start-tag, > > end-tag and module. > > where should i set the "-b" option? > > If you always want to ignore whitespace changes, you can do this by > modifying lib/Codestriker/Repository/Cvs.pm, line 124. Add the '-b' > option so that the code that used to be: > > my $pid = open3($write_stdin_fh, $read_stdout_fh, $read_stderr_fh, > $Codestriker::cvs, '-q', '-d', $self->{url}, > 'rdiff', $extra_options, '-u', > '-r', $start_tag, '-r', $end_tag, $module_name); > > Looks like: > > my $pid = open3($write_stdin_fh, $read_stdout_fh, $read_stderr_fh, > $Codestriker::cvs, '-q', '-d', $self->{url}, > 'rdiff', $extra_options, '-u', '-b', > '-r', $start_tag, '-r', $end_tag, $module_name); > > ie - the -b option has been added. > > > also I am not sure @exclude_file_types is taken into account in > this case > > It should be. The same filtering code is run, regardless of whether or > not Codestriker generated the diff text, or it was supplied by the > user. > > Cheers, > David > > > > > -- > Best Regards, > Moisei |
From: Keith L. <the...@gm...> - 2006-08-24 18:25:09
|
I have tried to implement the use of gnu diff on my codestriker installation. I changed the Subversion.pm file from: $cmd = "\"$Codestriker::svn\" diff --non-interactive --no-auth-cache " . $self->{userCmdLine} . " -r $start_tag:$end_tag " . "--old \"$self->{repository_url}\" \"$module_name\""; to: $cmd = "\"$Codestriker::svn\" diff --non-interactive --no-auth-cache " . $self->{userCmdLine} . " -r $start_tag:$end_tag " . "--old \"$self->{repository_url}\" --diff-cmd diff -x -uw \"$module_name\""; In my test, I supplied revisions that would result in a single file being diffed. The resultant topic had a file called 'unknown.txt' with output: <javascript:eo('0','1','1')> Index: devbranches/eckml/CQ14179/grainger/script_root/jsp/profile/accountadmin/accountAdmin_body.jsp <javascript:eo('0','2','1')> =================================================================== The output shows only the name of the file I'd expected to be diffed. The command runs fine from the command line. I'm wondering if there's some PERL voodoo I don't know about. I'm far from a PERL expert and could use some help. Thanks, Keith Levy On 8/8/06, David Sitsky <si...@us...> wrote: > > Looks like it is possible, but the command line needs to be modified > further. Check out: > > > http://www.akatombo.com/index/en/comments/ignore_whitespace_in_a_subversion_diff/ > > Cheers, > David > > Moisei Rabinovich wrote: > > Ohh, I assumed everybody knows that I use subversion not a CVS. > > Thanks for the tip anyway, I think, know where to go now. > > Even svn diff is missing this option natively, there is a way to use > > 3-rd party diff that knows to ignore the white spaces. > > > > On 8/8/06, *David Sitsky* <si...@us... > > <mailto:si...@us...>> wrote: > > > > Moisei Rabinovich wrote: > > > well, I probably miss some important point. > > > codestriker generates a diff for me by itself, i only fill > start-tag, > > > end-tag and module. > > > where should i set the "-b" option? > > > > If you always want to ignore whitespace changes, you can do this by > > modifying lib/Codestriker/Repository/Cvs.pm, line 124. Add the '-b' > > option so that the code that used to be: > > > > my $pid = open3($write_stdin_fh, $read_stdout_fh, > $read_stderr_fh, > > $Codestriker::cvs, '-q', '-d', $self->{url}, > > 'rdiff', $extra_options, '-u', > > '-r', $start_tag, '-r', $end_tag, $module_name); > > > > Looks like: > > > > my $pid = open3($write_stdin_fh, $read_stdout_fh, > $read_stderr_fh, > > $Codestriker::cvs, '-q', '-d', $self->{url}, > > 'rdiff', $extra_options, '-u', '-b', > > '-r', $start_tag, '-r', $end_tag, $module_name); > > > > ie - the -b option has been added. > > > > > also I am not sure @exclude_file_types is taken into account in > > this case > > > > It should be. The same filtering code is run, regardless of whether > or > > not Codestriker generated the diff text, or it was supplied by the > > user. > > > > Cheers, > > David > > > > > > > > > > -- > > Best Regards, > > Moisei > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Codestriker-user mailing list > Cod...@li... > https://lists.sourceforge.net/lists/listinfo/codestriker-user > |
From: David S. <si...@us...> - 2006-08-24 23:48:10
|
Hi Keith, > $cmd = "\"$Codestriker::svn\" diff --non-interactive --no-auth-cache > " . > $self->{userCmdLine} . " -r $start_tag:$end_tag " . > "--old \"$self->{repository_url}\" --diff-cmd diff -x -uw > \"$module_name\""; I'd recommend putting the full path to the diff command, eg: --diff-cmd /usr/bin/diff -x -uw \"$module_name\"" just to make sure the webserver is picking up the right process. After this line, try adding: print STDERR "Command is $cmd\n"; Then check how this line (this will appear in apache's error_log file) compares to your command line that you have typed out. Hopefully this will make it clear what the difference might be. The other thing to try is running your command as the same user as the web-server. Please let us know how you go. Cheers, David |
From: Jason R. <jre...@ya...> - 2006-08-09 02:38:35
|
Hi, Looking into this a bit, it looks like you can ask svn to use an external diff (like gnu diff), and therefor get a white space free diff. http://kitt.hodsden.com/node/3/print?PHPSESSID=7afff32540f3523848f2e24b8f229c98 This may break codestriker because it attempts to parse the diff output. It may not like seeing a gnu diff coming out of "svn diff". If you want you can modify the Subversion.pm file and give it a try. Thanks Jason. --- Moisei Rabinovich <mo...@gm...> wrote: > well, I probably miss some important point. > codestriker generates a diff for me by itself, i only fill start-tag, > end-tag and module. > where should i set the "-b" option? > also I am not sure @exclude_file_types is taken into account in this case > > On 8/7/06, David Sitsky <si...@us...> wrote: > > > > Moisei Rabinovich wrote: > > > > do you have some really large topics in your database? > > > o yes! we are doing the real thing! :) > > > seriously, 1024000 bytes ~= 1 M ~= 10K lines of code. > > > I would not say it is an usual case but it may happen when really big > > > feature is merged from the dev. branch to the trunk. > > > Especially taken into account that I do not have a way to filter a > > > generated files from the diff, as well as ignore indentation. > > > I would be great to have such an option in codestriker. > > > > If your generated files have a unique filename extension that you always > > want to ignore, then check out the @exclude_file_types option in > > codestriker.conf. > > > > By "ignore indentation", do you mean whitespace changes? If you supply > > the -b option to diff, it will remove whitespace changes from your diff > > file. > > > > Cheers, > > David > > > > > > > -- > Best Regards, > Moisei > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642> _______________________________________________ > Codestriker-user mailing list > Cod...@li... > https://lists.sourceforge.net/lists/listinfo/codestriker-user > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |