[Catalyst] [***SPAM*** Score/Req: 11.00/6.0] Re: Error while going through tutorial using Oracle

Hartmaier Alexander Alexander.Hartmaier at t-systems.at
Fri Aug 18 11:02:03 CEST 2006


1. Oracle isn't case sensitive for table names
2. column_info on Oracle only works if the table name passed is uppercase.

-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:52 AM
> To: The elegant MVC web framework
> Subject: [***SPAM*** Score/Req: 11.00/6.0] Re: [Catalyst] Error while
> going through tutorial using Oracle
> 
> That's my point for the column_info call in DBD::Oracle to work the case
> has to matched the stored case
> 
> http://search.cpan.org/~pythian/DBD-Oracle-1.18a/Oracle.pm#column_info()
> 
> i.e.
> 
> create table "user" (p1 integer ....)
> 
> To retrieve column_info for that table the table name must be lowercase
> in the column_info call.
> 
> Jason
> 
> 
> 
> Hartmaier Alexander wrote:
> > 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.
> >
> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"
> *"*"*
> > _______________________________________________
> > 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