It seems that instead of 4 bytes of precision, it
thinks it's 4 characters:

get_objects() - KH::RDBO::Zip: Value for lat() is too
long.  Maximum length is 4
 characters.  Value is 7 characters: 37.3053 at
/usr/local/lib/perl5/site_perl/5
.8.8/Rose/Object.pm line 25
 at lib/KH/Loader.pm line 33

Here's a portion of the generated classes:

use strict;

use base qw(KH::RDBO::DB::Object::AutoBase1);

__PACKAGE__->meta->setup(
    table   => 'deals',

    columns => [
        id             => { type => 'bigserial',
not_null => 1 }, [...]
        lat            => { type => 'float', precision
=> 4 },
        lon            => { type => 'float', precision
=> 4 } [...] );

The code that generated that looks like this:

package KH::RDB;
use strict;

#
http://search.cpan.org/~jsiracusa/Rose-DB-0.732/lib/Rose/DB/Tutorial.pod

use Rose::DB;
use Rose::DB::Object::Loader;

our @ISA = ( 'Rose::DB' );
our $dbh;       # use if you need access to the underlying
DBI handle

BEGIN {
  die "Set env for DB_DB, DB_HOST, DB_USER,and
DB_PWORD\n" unless
      exists $ENV{DB_DB} && exists $ENV{DB_HOST} &&
exists $ENV{DB_USER} &&
      exists $ENV{DB_PWORD};
}

# Use a private registry for this class
__PACKAGE__->use_private_registry;

# Register your lone data source using the default
type and domain
__PACKAGE__->register_db(
                         driver   => 'pg',
                         database => $ENV{DB_DB},
                         host     => $ENV{DB_HOST},
                         username => $ENV{DB_USER},
                         password => $ENV{DB_PWORD} );

$dbh = new KH::RDB();

our $loader = new Rose::DB::Object::Loader( 'db' =>
$dbh,
                                          
'class_prefix' => 'KH::RDBO' );
our @classes;

#QQQQ This takes one second, so we're going to want to
freeze this in the future
@classes = $loader->make_classes;

1;

Any pointers on where to properly set the precision
for floats?

Thanks,

Fred


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-------------------------------------------------------------------------
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
_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to