[Catalyst] Error while going through tutorial using Oracle

Alex Boster aboster at scea.com
Thu Aug 17 19:48:18 CEST 2006


I am part way through the tutorial using Oracle and have gotten stuck.  
I have create sequences and before insert triggers to replace mySQL's 
autoincrements.  However, I now get:

|Caught exception in MyApp::Controller::Books->url_create "Can't use an undefined value as a HASH reference at /u01/glue/share/perl5/lib/site_perl/5.8.8/DBIx/Class/ResultSource.pm line 197."||

|when I try out the formless submission example.  On a suggestion, I removed the "PK::Auto" from the load_components bit of the table modules (i.e., from:

__PACKAGE__->load_components(qw/PK::Auto Core/);
).  This had no affect.

Any pointers?  Server output and error page follows.

Thanks,
AB

Server stderr/stdout:

[Template::Provider] creating cache of unlimited slots for [ 
CODE(0x9f829a4) ]
[debug] Debug messages enabled
[debug] Loaded plugins:
.----------------------------------------------------------------------------.
| Catalyst::Plugin::ConfigLoader  
0.12                                       |
| Catalyst::Plugin::StackTrace  
0.06                                         |
| Catalyst::Plugin::Static::Simple  
0.14                                     |
'----------------------------------------------------------------------------'

[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::HTTP"
[debug] Found home "/home/aboster/dev/catalyst/MyApp"
[debug] Loaded Config "/home/aboster/dev/catalyst/MyApp/myapp.yml"
[debug] Loaded components:
.-----------------------------------------------------------------+----------.
| Class                                                           | 
Type     |
+-----------------------------------------------------------------+----------+
| MyApp::Controller::Books                                        | 
instance |
| MyApp::Controller::Root                                         | 
instance |
| MyApp::Model::MyAppDB                                           | 
instance |
| MyApp::Model::MyAppDB::Author                                   | 
class    |
| MyApp::Model::MyAppDB::Book                                     | 
class    |
| MyApp::Model::MyAppDB::BookAuthor                               | 
class    |
| MyApp::View::TT                                                 | 
instance |
'-----------------------------------------------------------------+----------'

[debug] Loaded Private actions:
.----------------------+--------------------------------------+--------------.
| Private              | Class                                | 
Method       |
+----------------------+--------------------------------------+--------------+
| /default             | MyApp::Controller::Root              | 
default      |
| /end                 | MyApp::Controller::Root              | 
end          |
| /books/url_create    | MyApp::Controller::Books             | 
url_create   |
| /books/index         | MyApp::Controller::Books             | 
index        |
| /books/list          | MyApp::Controller::Books             | 
list         |
'----------------------+--------------------------------------+--------------'

[debug] Loaded Path actions:
.-------------------------------------+--------------------------------------.
| Path                                | 
Private                              |
+-------------------------------------+--------------------------------------+
| /books/list                         | 
/books/list                          |
| /books/url_create                   | 
/books/url_create                    |
'-------------------------------------+--------------------------------------'

[info] MyApp powered by Catalyst 5.7001
You can connect to your server at http://darkwind003.989studios.com:3000
[info] *** Request 1 (0.200/s) [1065] [Thu Aug 17 10:32:58 2006] ***
[debug] "GET" request for "books/url_create/TCPIP_Illustrated_Vol-2/5/4" 
from "172.31.30.76"
[debug] Path is "books/url_create"
[debug] Arguments are "TCPIP_Illustrated_Vol-2/5/4"
[error] Caught exception in MyApp::Controller::Books->url_create "Can't 
use an undefined value as a HASH reference at 
/u01/glue/share/perl5/lib/site_perl/5.8.8/DBIx/Class/ResultSource.pm 
line 197."
[info] Request took 1.681834s (0.595/s)
.----------------------------------------------------------------+-----------.
| Action                                                         | 
Time      |
+----------------------------------------------------------------+-----------+
| /books/url_create                                              | 
1.656821s |
| /end                                                           | 
0.000262s |
'----------------------------------------------------------------+-----------'

Error page:

|Caught exception in MyApp::Controller::Books->url_create "Can't use an 
undefined value as a HASH reference at 
/u01/glue/share/perl5/lib/site_perl/5.8.8/DBIx/Class/ResultSource.pm 
line 197."|


    Stack Trace
    <http://darkwind003:3000/books/url_create/TCPIP_Illustrated_Vol-2/5/4#>

Package 	Line 	File
MyApp::Controller::Books 	66 
/home/aboster/dev/catalyst/MyApp/lib/MyApp/Controller/Books.pm

| 63: 64: # Call create() on the book model object. Pass the table 65: # 
columns/field values we want to set as hash values * 66: my $book = 
$c->model('MyAppDB::Book')->create({ * 67: title => $title, 68: rating 
=> $rating 69: }); |


    Request
    <http://darkwind003:3000/books/url_create/TCPIP_Illustrated_Vol-2/5/4#>

bless({
  action           => "books/url_create",
  address          => "172.31.30.76",
  arguments        => ["TCPIP_Illustrated_Vol-2", 5, 4],
  base             => bless(do{\(my $o = "http://darkwind003:3000/")}, "URI::http"),
  body_parameters  => {},
  captures         => [],
  cookies          => {},
  headers          => bless({
                        "accept" => "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
                        "accept-charset" => "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
                        "accept-encoding" => "gzip,deflate",
                        "accept-language" => "en-us,en;q=0.5",
                        connection => "keep-alive",
                        host => "darkwind003:3000",
                        "keep-alive" => 300,
                        "user-agent" => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.2) Gecko/20060419 CentOS/1.5.0.2-3.c4.centos Firefox/1.5.0.2",
                      }, "HTTP::Headers"),
  hostname         => "sceapdsd-172-31-30-76.989studios.com",
  match            => "books/url_create",
  method           => "GET",
  parameters       => {},
  path             => "books/url_create/TCPIP_Illustrated_Vol-2/5/4",
  protocol         => "HTTP/1.0",
  query_parameters => {},
  secure           => 0,
  uploads          => {},
  uri              => bless(do{\(my $o = "http://darkwind003:3000/books/url_create/TCPIP_Illustrated_Vol-2/5/4")}, "URI::http"),
  user             => undef,
}, "Catalyst::Request")


    Response
    <http://darkwind003:3000/books/url_create/TCPIP_Illustrated_Vol-2/5/4#>

bless({
  body    => "",
  cookies => {},
  headers => bless({
               "content-type" => "text/html; charset=utf-8",
               "x-catalyst"   => "5.7001",
             }, "HTTP::Headers"),
  status  => 200,
}, "Catalyst::Response")


    Stash
    <http://darkwind003:3000/books/url_create/TCPIP_Illustrated_Vol-2/5/4#>

{}


    Config
    <http://darkwind003:3000/books/url_create/TCPIP_Illustrated_Vol-2/5/4#>

do {
  my $a = {
    home => "/home/aboster/dev/catalyst/MyApp",
    name => "MyApp",
    root => bless({
          dirs => ["", "home", "aboster", "dev", "catalyst", "MyApp", "root"],
          file_spec_class => undef,
          volume => "",
        }, "Path::Class::Dir"),
    stacktrace => { context => 3, verbose => 0 },
    static => {
          debug => 1,
          dirs => [],
          ignore_dirs => [],
          ignore_extensions => ["tmpl", "tt", "tt2", "html", "xhtml"],
          include_path => ['fix'],
          mime_types => {},
          no_logs => 1,
        },
  };
  $a->{static}{include_path}[0] = $a->{root};
  $a;
}


  MyApp on Catalyst 5.7001





More information about the Catalyst mailing list