[prev] [thread] [next] [Date index for 2005/09/28]
This is a cryptographically signed message in MIME format. --===============2045042167== Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms020503030204030802020609" This is a cryptographically signed message in MIME format. --------------ms020503030204030802020609 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Bill Moseley wrote: > Minor time killer. > > I happened to be calling Essential twice on a class. When I did this > LAZY POPULATION was not working on columns that were no longer in > Essential. So, don't call Essential twice, I suppose. > > > DB::Person->columns( Essential => qw/ id first_name last_name content / ); > DB::Person->columns( Essential => qw/ id first_name last_name / ); > > my $item = DB::Person->retrieve( 1 ); > > print $item->content ? "content found\n" : "sorry, out of luck\n"; > > Results in: > > $ perl one_table.pl > sorry, out of luck > > when there is indeed content. CDBI isn't going back to the DB. > > Comment out either one (or both) of the Essential calls and it works fine. > > Here's a demo on CDBI 3.0.8: > > > package DB; > use base 'Class::DBI::Sweet'; > DB->connection('dbi:mysql:test', '', ''); > #DB->connection('dbi:Pg:dbname=test2', '', ''); > > > package DB::Person; > use base 'DB'; > __PACKAGE__->table('person'); > __PACKAGE__->columns(All => qw/id first_name last_name role content/); > > package main; > use strict; > use warnings; > use Template; > > DB->db_Main->do("DROP TABLE $_") for qw/ person /; > > > DB->db_Main->do(<<""); > CREATE TABLE person ( > id integer PRIMARY KEY, > role integer, > first_name text, > last_name text, > content text > ); > > > DB::Person->create( { > id => 1, > role => 3, > first_name => 'Joe', > last_name => 'Blow', > content => 'This is some content about Joe', > }); > > > DB::Person->columns( Essential => qw/ id first_name last_name content / ); > DB::Person->columns( Essential => qw/ id first_name last_name / ); > > my $item = DB::Person->retrieve( 1 ); > > print $item->content ? "content found\n" : "sorry, out of luck\n"; > I don't think Tony surfs this list much, if at all, so make sure to file an RT on the issue. I know he checks those. This would probably be even more of an issue if a subclass of your class wants to call __PACKAGE__->columns to override the base classes decisions about what is and isn't essential. -=Chris --------------ms020503030204030802020609 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIII8TCC AtMwggI8oAMCAQICAw37vjANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UE ChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDUwMjA3MTc0NDM3WhcNMDYwMjA3MTc0NDM3 WjBFMR8wHQYDVQQDExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSIwIAYJKoZIhvcNAQkBFhNj bGFjb0BjaHJpc2xhY28uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwOzj 4xFQtv4Fjr44h4AmlOTqOYw4PM80JgQrIhCQpJlQQgr+gltu+HqCdkU+8nO+MjTOSgDH98Vx t0GK7Y7uZkwPkYM+av/RQf37y7QMPlrQiBJcKb1TYa1yWijjdvwOpEB1RSnEBtKKXN/Yc6WF kV/mRGpCKoaxCC6YeBr4uWXXduz6KOR4RLBE3+EmxzUeGwPulHmS/evmPkt2Z7O/AVx2y1zW zng76M1mftCw9dI7nob1F9xhIjdHEbjivysFNFmqqH0HDwkcM/VgXoU5pQNNzkglwN22MlDH 6ZylE6fCLHzzIh+1t5wdFmN+YtvemhuxO6puVuSsngJaQXBHvwIDAQABozAwLjAeBgNVHREE FzAVgRNjbGFjb0BjaHJpc2xhY28uY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQAD gYEAaxPn+huyClyf0rU/gPmK9pqb9TSWPjxSpXhXDA9rweZiDM7kapY+s+gYQWsN2aS0Aeaz ugPigDLVcFejf4ZxZKIKfuj05rIFC0HYg9mE6rQE8PPJP1y8Ln8Nttr6uLBKBxgPTz26sOQP k+kfFo1su7WSJk5DHHcnIplfPHew+NYwggLTMIICPKADAgECAgMN+74wDQYJKoZIhvcNAQEE BQAwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0 ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA1 MDIwNzE3NDQzN1oXDTA2MDIwNzE3NDQzN1owRTEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWls IE1lbWJlcjEiMCAGCSqGSIb3DQEJARYTY2xhY29AY2hyaXNsYWNvLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAMDs4+MRULb+BY6+OIeAJpTk6jmMODzPNCYEKyIQkKSZ UEIK/oJbbvh6gnZFPvJzvjI0zkoAx/fFcbdBiu2O7mZMD5GDPmr/0UH9+8u0DD5a0IgSXCm9 U2Gtcloo43b8DqRAdUUpxAbSilzf2HOlhZFf5kRqQiqGsQgumHga+Lll13bs+ijkeESwRN/h Jsc1HhsD7pR5kv3r5j5LdmezvwFcdstc1s54O+jNZn7QsPXSO56G9RfcYSI3RxG44r8rBTRZ qqh9Bw8JHDP1YF6FOaUDTc5IJcDdtjJQx+mcpROnwix88yIftbecHRZjfmLb3pobsTuqblbk rJ4CWkFwR78CAwEAAaMwMC4wHgYDVR0RBBcwFYETY2xhY29AY2hyaXNsYWNvLmNvbTAMBgNV HRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAGsT5/obsgpcn9K1P4D5ivaam/U0lj48UqV4 VwwPa8HmYgzO5GqWPrPoGEFrDdmktAHms7oD4oAy1XBXo3+GcWSiCn7o9OayBQtB2IPZhOq0 BPDzyT9cvC5/Dbba+riwSgcYD089urDkD5PpHxaNbLu1kiZOQxx3JyKZXzx3sPjWMIIDPzCC AqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl c3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UE AxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25h bC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoXDTEzMDcxNjIzNTk1OVow YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4x LDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1BHCd3+n/ox7svc31W/Iadr1/ DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2JCoTzyvV84J3PQO+ K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZcmC3+wIDAQABo4GUMIGRMBIG A1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC50aGF3dGUu Y29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYDVR0PBAQDAgEGMCkGA1UdEQQi MCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkqhkiG9w0BAQUFAAOBgQBI jNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAgk3A8/a3hYWLD2ToZ foSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghOrvbqNOUQGls1TXfj ViF4gtwhGTXeJLHTHUb/XV9lTzGCAzswggM3AgEBMGkwYjELMAkGA1UEBhMCWkExJTAjBgNV BAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJz b25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMN+74wCQYFKw4DAhoFAKCCAacwGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDUwOTI4MTczNDEwWjAjBgkqhkiG 9w0BCQQxFgQU2FTFa7udQmb9CPRpfbCEiyeRx04wUgYJKoZIhvcNAQkPMUUwQzAKBggqhkiG 9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcN AwICASgweAYJKwYBBAGCNxAEMWswaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECAw37vjB6BgsqhkiG9w0BCRACCzFroGkwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMN+74wDQYJKoZIhvcNAQEBBQAEggEA dgziJnWMpd9j9sct+RyE/G9/TY0OCs6DNtM/KBNrcAj+ptm7CcxDzC+6gLn0d+affvKq856U 36Fb7JWbG8QCs/XDTnOqjwGbsDIgt5DsEYNudN7MkNRTgR2bqRjZ9Zc3fe2lbQ2Xd2MJpy68 EKtofo2AngQziJz7gxyoOOWPJ2W4y7Wil4l6QzuuGL6FWx3YkKlSjVfDd1U135bosVN3HxOa P2bU9gxL0GSmUrxds/srUbDCrHvrvokF5kIjLTsWev3kzdBLN9gz0nNmIxTwymJnyx3jRlEj FZzW/1xpX7Q32izTiBZo5VFRAdQYk99eYWbpj83ZwEKLlW9CNYKhWgAAAAAAAA== --------------ms020503030204030802020609-- --===============2045042167== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ClassDBI mailing list ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi --===============2045042167==--
[CDBI] Calling columns( Essential ) twice
|
Re: [CDBI] Calling columns( Essential ) twice
|
Generated at 15:06 on 02 Oct 2005 by mariachi v0.52