hi, below some trace output of perl script. just do not know whether the bug is in DBI, DBD::mysql, DBIx::Class or mysql. i appreciate any suggestion if the problem should be reported elsewhere
issuing query on mysql client console - i got correct results. what's more, when table grows to 50 records, script/query starts working correctly for query SELECT me.customer_id, me.company_id, me.person_id, me.customer_position, me.instance_id FROM customer me WHERE ( me.customer_id IS NULL ) i got result <- fetchrow_array= ( '37' '8' '4' 'f:8 os:4 i:3' '3' ) [5 items] row1 at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2034 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 74 so searching for customer_id is null (which does not exist in database) i got row with customer_id=37 some help appreciated. it's know problem, or new one? as i do not know whether trying to find the bug or refactor code, as i'm short of time tested on ubuntu DB<3> p $DBI::VERSION 1.609 DB<4> p $DBD::mysql::VERSION 4.012 DB<5> p $DBIx::Class::VERSION 0.08115 mysql Server version: 5.1.41-3ubuntu12.1-log (Ubuntu) This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi debian: DB<3> p $DBI::VERSION 1.611 DB<5> p $DBD::mysql::VERSION 4.014 DB<6> p $DBIx::Class::VERSION 0.08123 mysql Server version: 5.1.47-1 (Debian) This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi log from ubuntu version >> prepare_cached DISPATCH (DBI::db=HASH(0xa163eb0) rc1/5 @4 g0 imaa201 pid#25948) at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2060 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 730 -> prepare_cached for DBD::mysql::db (DBI::db=HASH(0xa163eb0)~0xa2712e8 'SELECT me.customer_id, me.company_id, me.person_id, me.customer_position, me.instance_id FROM customer me WHERE ( me.customer_id IS NULL )' HASH(0xa276b48) 3) thr#8177008 >> prepare DISPATCH (DBI::db=HASH(0xa2712e8) rc1/8 @3 g0 imaa201 pid#25948) at /usr/local/lib/perl/5.10.1/DBI.pm line 1686 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2060 1 -> prepare for DBD::mysql::db (DBI::db=HASH(0xa2712e8)~INNER 'SELECT me.customer_id, me.company_id, me.person_id, me.customer_position, me.instance_id FROM customer me WHERE ( me.customer_id IS NULL )' HASH(0xa276b48)) thr#8177008 New 'DBI::st' (for DBD::mysql::st, parent=DBI::db=HASH(0xa2712e8), id=undef) dbih_setup_handle(DBI::st=HASH(0xa276d18)=>DBI::st=HASH(0xa276ce8), DBD::mysql::st, a275588, Null!) dbih_make_com(DBI::db=HASH(0xa2712e8), a272958, DBD::mysql::st, 252, 0) thr#8177008 dbih_setup_attrib(DBI::st=HASH(0xa276ce8), Err, DBI::db=HASH(0xa2712e8)) SCALAR(0xa163f70) (already defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), State, DBI::db=HASH(0xa2712e8)) SCALAR(0xa163f90) (already defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), Errstr, DBI::db=HASH(0xa2712e8)) SCALAR(0xa163fa0) (already defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), TraceLevel, DBI::db=HASH(0xa2712e8)) 0 (already defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), FetchHashKeyName, DBI::db=HASH(0xa2712e8)) 'NAME' (already defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), HandleSetErr, DBI::db=HASH(0xa2712e8)) undef (not defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), HandleError, DBI::db=HASH(0xa2712e8)) CODE(0xa271448) (already defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), ReadOnly, DBI::db=HASH(0xa2712e8)) undef (not defined) dbih_setup_attrib(DBI::st=HASH(0xa276ce8), Profile, DBI::db=HASH(0xa2712e8)) undef (not defined) -> dbd_st_prepare MYSQL_VERSION_ID 50145, SQL statement: SELECT me.customer_id, me.company_id, me.person_id, me.customer_position, me.instance_id FROM customer me WHERE ( me.customer_id IS NULL ) >- dbd_st_free_result_sets <- dbd_st_free_result_sets RC -1 <- dbd_st_free_result_sets >count_params statement SELECT me.customer_id, me.company_id, me.person_id, me.customer_position, me.instance_id FROM customer me WHERE ( me.customer_id IS NULL ) <- dbd_st_prepare 1 <- prepare= DBI::st=HASH(0xa276d18) at /usr/local/lib/perl/5.10.1/DBI.pm line 1686 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2060 <- prepare_cached= DBI::st=HASH(0xa276d18) at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2060 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 730 >> execute DISPATCH (DBI::st=HASH(0xa276d18) rc1/2 @1 g0 ima1041 pid#25948) at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 1481 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 738 -> execute for DBD::mysql::st (DBI::st=HASH(0xa276d18)~0xa276ce8) thr#8177008 -> dbd_st_execute for 0a275478 >- dbd_st_free_result_sets <- dbd_st_free_result_sets RC -1 <- dbd_st_free_result_sets mysql_st_internal_execute MYSQL_VERSION_ID 50145 >parse_params statement SELECT me.customer_id, me.company_id, me.person_id, me.customer_position, me.instance_id FROM customer me WHERE ( me.customer_id IS NULL ) <- dbd_st_execute returning imp_sth->row_num 1 <- execute= 1 at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 1481 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 738 >> fetchrow_array DISPATCH (DBI::st=HASH(0xa276d18) rc1/2 @1 g1 ima0 pid#25948) at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2034 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 74 -> fetchrow_array for DBD::mysql::st (DBI::st=HASH(0xa276d18)~0xa276ce8) thr#8177008 -> dbd_st_fetch dbd_st_fetch for 0a275478, chopblanks 0 dbd_st_fetch result set details imp_sth->result=0a288088 mysql_num_fields=5 mysql_num_rows=1 mysql_affected_rows=1 dbd_st_fetch for 0a275478, currow= 1 dbih_setup_fbav alloc for 5 fields dbih_setup_fbav now 5 fields <- dbd_st_fetch, 5 cols <- fetchrow_array= ( '37' '8' '4' 'f:8 os:4 i:3' '3' ) [5 items] row1 at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2034 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 74 >> fetchrow_array DISPATCH (DBI::st=HASH(0xa276d18) rc1/2 @1 g1 ima0 pid#25948) at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 2035 via at /usr/local/share/perl/5.10.1/DBIx/Class/Storage/DBI.pm line 74 -> fetchrow_array for DBD::mysql::st (DBI::st=HASH(0xa276d18)~0xa276ce8) thr#8177008 -> dbd_st_fetch dbd_st_fetch for 0a275478, chopblanks 0 dbd_st_fetch result set details imp_sth->result=0a288088 mysql_num_fields=5 mysql_num_rows=1 mysql_affected_rows=1 dbd_st_fetch for 0a275478, currow= 2 dbd_st_fetch, no more rows to fetch --> dbd_st_finish (...) mysql> | customer | CREATE TABLE `customer` ( `customer_id` int(11) NOT NULL AUTO_INCREMENT, `company_id` int(11) NOT NULL, `person_id` int(11) NOT NULL, `customer_position` varchar(45) COLLATE utf8_polish_ci DEFAULT NULL, `instance_id` int(11) NOT NULL, PRIMARY KEY (`customer_id`), KEY `fk_customer_1` (`company_id`), KEY `fk_customer_2` (`person_id`), KEY `fk_customer_3` (`instance_id`), KEY `index5` (`customer_id`,`instance_id`), CONSTRAINT `fk_customer_1` FOREIGN KEY (`company_id`) REFERENCES `company` (`company_id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_customer_2` FOREIGN KEY (`person_id`) REFERENCES `person` (`person_id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_customer_3` FOREIGN KEY (`instance_id`) REFERENCES `instance` (`instance_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci -- regards piotr