[Catalyst] Error while going through tutorial using Oracle

Hartmaier Alexander Alexander.Hartmaier at t-systems.at
Fri Aug 18 10:43:53 CEST 2006


The table names aren't uppercased when defining the table class but just for the column_info DBI call.

-Alex


> -----Original Message-----
> From: catalyst-bounces at lists.rawmode.org [mailto:catalyst-
> bounces at lists.rawmode.org] On Behalf Of Jason Crummack
> Sent: Friday, August 18, 2006 10:15 AM
> To: The elegant MVC web framework
> Subject: [***SPAM*** Score/Req: 11.00/6.0] Re: [Catalyst] Error while
> going through tutorial using Oracle
> 
> Hi Hartmaier
> 
> Thats going to cause me problems when the next release hits the streets,
> if you're automatically uppercasing table names how will it then handle
> reserved word table names where case is important? (e.g "user").
> 
> Jason
> 
> Hartmaier Alexander wrote:
> > Hi!
> >
> > Use the current svn version which will become 0.07001 soon, it has my
> Storage::Oracle patch for uppercasing the table names which wasn't
> included in 0.07.
> >
> > It's best you specify the sequence names for each auto-inc pk
> yourself, so you avoid the magic on startup which saves you some time.
> >
> > -Alex
> >
> >
> >
> >> -----Original Message-----
> >> From: catalyst-bounces at lists.rawmode.org [mailto:catalyst-
> >> bounces at lists.rawmode.org] On Behalf Of Jason Crummack
> >> Sent: Friday, August 18, 2006 1:38 AM
> >> To: The elegant MVC web framework
> >> Subject: Re: [Catalyst] Error while going through tutorial using
> Oracle
> >>
> >> Jason Crummack wrote:
> >>
> >> Sorry Alex I also forgot to mention that the underlying column_info
> call
> >> that happens (assuming your using DBD::Oracle) is case sensitive, so
> >> you'll probably also need to upper case the table name (don't think
> its
> >> necessary with the actual column names).
> >>
> >> e.g. __PACKAGE__->table('BOOKS');
> >>
> >> If you created the table unquoted in oracle it will have
> automatically
> >> uppercased the table and column names, this caused me a few problems
> >> with a reserved word table name i've been dealing with where i've had
> to
> >> define the quote and seperator characters on connect and use exact
> case
> >> for table and column names.
> >>
> >> Jason
> >>
> >>
> >>> Alex Boster wrote:
> >>>
> >>> Hi Alex,
> >>>
> >>> For oracle I think you need to set the sequence name for auto-
> >>>
> >> increments
> >>
> >>> e.g.
> >>>
> >>> __PACKAGE__->load_components (qw/PK::Auto Core/);
> >>> __PACKAGE__->sequence ('{NAME OF YOUR SEQUENCE HERE}');
> >>>
> >>> I think that's right
> >>>
> >>> Jason
> >>>
> >>>
> >>>
> >>>> 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/pla
> >> in;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
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> List: Catalyst at lists.rawmode.org
> >>>> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> >>>> Searchable archive: http://www.mail-
> >>>>
> >> archive.com/catalyst at lists.rawmode.org/
> >>
> >>>> Dev site: http://dev.catalyst.perl.org/
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>> _______________________________________________
> >>> List: Catalyst at lists.rawmode.org
> >>> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> >>> Searchable archive: http://www.mail-
> >>>
> >> archive.com/catalyst at lists.rawmode.org/
> >>
> >>> Dev site: http://dev.catalyst.perl.org/
> >>>
> >>>
> >>>
> >>>
> >> _______________________________________________
> >> List: Catalyst at lists.rawmode.org
> >> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> >> Searchable archive: http://www.mail-
> >> archive.com/catalyst at lists.rawmode.org/
> >> Dev site: http://dev.catalyst.perl.org/
> >>
> >
> >
> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"
> *"*"*
> > T-Systems Austria GesmbH   Rennweg 97-99, 1030 Wien
> > Handelsgericht Wien, FN 79340b
> >
> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"
> *"*"*
> > Notice: This e-mail contains information that is confidential and may
> be privileged.
> > If you are not the intended recipient, please notify the sender and
> then delete this e-mail immediately.
> >
> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"
> *"*"*
> > _______________________________________________
> > List: Catalyst at lists.rawmode.org
> > Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> > Searchable archive: http://www.mail-
> archive.com/catalyst at lists.rawmode.org/
> > Dev site: http://dev.catalyst.perl.org/
> >
> >
> >
> 
> 
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-
> archive.com/catalyst at lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/

*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
T-Systems Austria GesmbH   Rennweg 97-99, 1030 Wien
Handelsgericht Wien, FN 79340b
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
Notice: This e-mail contains information that is confidential and may be privileged.
If you are not the intended recipient, please notify the sender and then delete this e-mail immediately.
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*


More information about the Catalyst mailing list