Tony Winslow wrote:
Jason Kohles wrote:
On Dec 28, 2007, at 10:23 AM, Tony Winslow wrote:
Jason Kohles wrote:
Also from DBIx::Class::Manual::Cookbook:
Using database functions or stored procedures
The combination of "select" and "as" can be used to return the
result
of a database function or stored procedure as a column value.
You use
"select" to specify the source for your column value (e.g. a
column
name, function, or stored procedure name).
I'm confused of it. The whole paragraph!
eg: I've a procedure called proc1 which has one output parameter.
So in the MySQL client env. I have to call it sth. like:
CALL proc1(@a);
SELECT @a;
And in programs, I think it is sth. more like this:
execute('CALL proc1(?)');
my $result = get_column(1);
The problem now is I don't know how to do it under the DBIx-Class env.
My Env: Catalyst/TT, DBIx-Class/MySQL
Something like this should work...
package MyDB::Something;
use strict;
use warnings;
use base qw( DBIx::Class );
__PACKAGE__->load_components(qw( Core ));
__PACKAGE__->table( "fake_table_name_for_proc1" );
__PACKAGE__->result_source_instance->name( \'(select * from proc1(?))' );
Then you should be able to do:
my $rs = $schema->resultset( 'Something' )->search( undef, { bind =>
[EMAIL PROTECTED] } );
I'm not a big fan of MySQL though, so I don't know if it has any
special requirements for this stuff...
I tried the way you suggested, yet the following exception was thrown:
|"Odd number of arguments to search"
I think maybe it is caused by the SQL Statement since procedures don't
have return values, and, in fact, in the procedure I wrote the parameter
passed into it is an output parameter.
|
It would be helpful if you could post a code sample. I am sure someone
could spot it quickly that way (more eyes, etc etc).
Check to make sure the first argument to your search call is truly
undef, and make sure you are passing your array of bind values as a
reference.
This is the error I get when I fat-finger in a search call, and checking
for undefs and refs at the offending point is the first thing I try.
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]