PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Mail » Mail_Queue » Bug #8659

$mail_queue->get() fails with mdb2 container and sqlite

Details

Submitted2006-09-07 23:03 UTC
Fromrandy at rcs-comp dot com
Assignedquipo
StatusClosed
PackageMail_Queue
PHP Version5.1.6
OSWin XP
Roadmaps(Not assigned)

Comments

[2006-09-07 23:03 UTC] randy at rcs-comp dot com

Description:
------------
when using mail_queue with mdb2 container and sqlite I could not get get() to work. It would always return false. I traced the problem all the way to line 863 of the mdb2 sqlite driver:

$row = @sqlite_fetch_array($this->result, SQLITE_ASSOC);

$row was empty, so I removed the '@' and it through an error:

Warning: sqlite_fetch_array() expects parameter 1 to be resource, object given in C:\system_data\websites\customers\zeydel\lib\PEAR\MDB2\Driver\sqlite.php on line 863

I am not sure who's bug this is, but I am starting with you.

FYI, I used my same code with the DB container and it worked fine.

[2006-09-08 19:06 UTC] randy at rcs-comp dot com

I think it did this correctly, here is the code I used:

if ($fetchmode & MDB2_FETCHMODE_ASSOC) {
$row = sqlite_fetch_array($this->result, SQLITE_ASSOC);
print_r( debug_backtrace() );

and the result from the script:

Warning: sqlite_fetch_array() expects parameter 1 to be resource, object given in C:\system_data\websites\customers\zeydel\lib\PEAR\MDB2\Driver\sqlite.php on line 863

Array
(
[0] => Array
(
[file] => C:\system_data\websites\customers\zeydel\lib\PEAR\Mail\Queue\Container\mdb2.php
[line] => 121
[function] => fetchRow
[class] => MDB2_Result_sqlite
[object] => MDB2_BufferedResult_sqlite Object
(
[db] => MDB2_Driver_sqlite Object
(
[escape_quotes] => '
[escape_identifier] => "
[_lasterror] =>
[fix_assoc_fields_names] => 64
[db_index] => 1
[dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connected_dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connection] => Resource id #70
[opened_persistent] =>
[database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_server_info] =>
[supported] => Array
(
[sequences] => emulated
[indexes] => 1
[affected_rows] => 1
[summary_functions] => 1
[order_by_text] => 1
[transactions] => 1
[savepoints] =>
[current_id] => emulated
[limit_queries] => 1
[LOBs] => 1
[replace] => 1
[sub_selects] => 1
[auto_increment] => 1
[primary_key] =>
[result_introspection] =>
[prepared_statements] => emulated
[identifier_quoting] => 1
[pattern_escaping] =>
)

[options] => Array
(
[ssl] =>
[field_case] => 0
[disable_query] =>
[result_class] => MDB2_Result_%s
[buffered_result_class] => MDB2_BufferedResult_%s
[result_wrap_class] =>
[result_buffering] => 1
[fetch_class] => stdClass
[persistent] =>
[debug] => 0
[debug_handler] => MDB2_defaultDebugOutput
[debug_expanded_output] =>
[default_text_field_length] => 4096
[lob_buffer_length] => 8192
[log_line_break] =>

[idxname_format] => %s_idx
[seqname_format] => %s_seq
[savepoint_format] => MDB2_SAVEPOINT_%s
[seqcol_name] => sequence
[quote_identifier] =>
[use_transactions] => 1
[decimal_places] => 2
[portability] => 127
[modules] => Array
(
[ex] => Extended
[dt] => Datatype
[mg] => Manager
[rv] => Reverse
[na] => Native
[fc] => Function
)

[emulate_prepared] =>
[datatype_map] => Array
(
)

[datatype_map_callback] => Array
(
)

[base_transaction_name] => ___php_MDB2_sqlite_auto_commit_off
[fixed_float] => 0
[database_path] =>
[database_extension] =>
[server_version] =>
)

[escape_pattern] =>
[wildcards] => Array
(
[0] => %
[1] => _
)

[as_keyword] => AS
[warnings] => Array
(
)

[debug_output] =>
[in_transaction] =>
[nested_transaction_counter] => 0
[has_transaction_error] =>
[offset] => 0
[limit] => 0
[phptype] => sqlite
[dbsyntax] => sqlite
[last_query] => SELECT * FROM mail_queue WHERE sent_time IS NULL AND try_sent < 25 AND time_to_send < '2006-09-08 15:03:28' ORDER BY time_to_send LIMIT 0,10
[fetchmode] => 2
[modules] => Array
(
[Datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

)

[destructor_registered] => 1
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)

[datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

[loaded_version_modules] => Array
(
[0] => datatype
)

)

[result] => MDB2_BufferedResult_sqlite Object
*RECURSION*
[rownum] => -1
[types] => Array
(
)

[values] => Array
(
)

[offset] => 0
[offset_count] => 0
[limit] => 9
[column_names] =>
)

[type] => ->
[args] => Array
(
[0] => 2
)

)

[1] => Array
(
[file] => C:\system_data\websites\customers\zeydel\lib\PEAR\Mail\Queue\Container.php
[line] => 258
[function] => _preload
[class] => Mail_Queue_Container_mdb2
[object] => Mail_Queue_Container_mdb2 Object
(
[db] => MDB2_Driver_sqlite Object
(
[escape_quotes] => '
[escape_identifier] => "
[_lasterror] =>
[fix_assoc_fields_names] => 64
[db_index] => 1
[dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connected_dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connection] => Resource id #70
[opened_persistent] =>
[database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_server_info] =>
[supported] => Array
(
[sequences] => emulated
[indexes] => 1
[affected_rows] => 1
[summary_functions] => 1
[order_by_text] => 1
[transactions] => 1
[savepoints] =>
[current_id] => emulated
[limit_queries] => 1
[LOBs] => 1
[replace] => 1
[sub_selects] => 1
[auto_increment] => 1
[primary_key] =>
[result_introspection] =>
[prepared_statements] => emulated
[identifier_quoting] => 1
[pattern_escaping] =>
)

[options] => Array
(
[ssl] =>
[field_case] => 0
[disable_query] =>
[result_class] => MDB2_Result_%s
[buffered_result_class] => MDB2_BufferedResult_%s
[result_wrap_class] =>
[result_buffering] => 1
[fetch_class] => stdClass
[persistent] =>
[debug] => 0
[debug_handler] => MDB2_defaultDebugOutput
[debug_expanded_output] =>
[default_text_field_length] => 4096
[lob_buffer_length] => 8192
[log_line_break] =>

[idxname_format] => %s_idx
[seqname_format] => %s_seq
[savepoint_format] => MDB2_SAVEPOINT_%s
[seqcol_name] => sequence
[quote_identifier] =>
[use_transactions] => 1
[decimal_places] => 2
[portability] => 127
[modules] => Array
(
[ex] => Extended
[dt] => Datatype
[mg] => Manager
[rv] => Reverse
[na] => Native
[fc] => Function
)

[emulate_prepared] =>
[datatype_map] => Array
(
)

[datatype_map_callback] => Array
(
)

[base_transaction_name] => ___php_MDB2_sqlite_auto_commit_off
[fixed_float] => 0
[database_path] =>
[database_extension] =>
[server_version] =>
)

[escape_pattern] =>
[wildcards] => Array
(
[0] => %
[1] => _
)

[as_keyword] => AS
[warnings] => Array
(
)

[debug_output] =>
[in_transaction] =>
[nested_transaction_counter] => 0
[has_transaction_error] =>
[offset] => 0
[limit] => 0
[phptype] => sqlite
[dbsyntax] => sqlite
[last_query] => SELECT * FROM mail_queue WHERE sent_time IS NULL AND try_sent < 25 AND time_to_send < '2006-09-08 15:03:28' ORDER BY time_to_send LIMIT 0,10
[fetchmode] => 2
[modules] => Array
(
[Datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

)

[destructor_registered] => 1
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)

[datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

[loaded_version_modules] => Array
(
[0] => datatype
)

)

[mail_table] => mail_queue
[sequence] => mail_queue
[queue_data] => Array
(
)

[_current_item] => 0
[_last_item] => 0
[limit] => 10
[offset] => 0
[try] => 25
[force_preload] =>
[buffer_size] => 20
[pearErrorMode] => 1
)

[type] => ->
[args] => Array
(
)

)

[2] => Array
(
[file] => C:\system_data\websites\customers\zeydel\lib\PEAR\Mail\Queue\Container.php
[line] => 95
[function] => preload
[class] => Mail_Queue_Container
[object] => Mail_Queue_Container_mdb2 Object
(
[db] => MDB2_Driver_sqlite Object
(
[escape_quotes] => '
[escape_identifier] => "
[_lasterror] =>
[fix_assoc_fields_names] => 64
[db_index] => 1
[dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connected_dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connection] => Resource id #70
[opened_persistent] =>
[database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_server_info] =>
[supported] => Array
(
[sequences] => emulated
[indexes] => 1
[affected_rows] => 1
[summary_functions] => 1
[order_by_text] => 1
[transactions] => 1
[savepoints] =>
[current_id] => emulated
[limit_queries] => 1
[LOBs] => 1
[replace] => 1
[sub_selects] => 1
[auto_increment] => 1
[primary_key] =>
[result_introspection] =>
[prepared_statements] => emulated
[identifier_quoting] => 1
[pattern_escaping] =>
)

[options] => Array
(
[ssl] =>
[field_case] => 0
[disable_query] =>
[result_class] => MDB2_Result_%s
[buffered_result_class] => MDB2_BufferedResult_%s
[result_wrap_class] =>
[result_buffering] => 1
[fetch_class] => stdClass
[persistent] =>
[debug] => 0
[debug_handler] => MDB2_defaultDebugOutput
[debug_expanded_output] =>
[default_text_field_length] => 4096
[lob_buffer_length] => 8192
[log_line_break] =>

[idxname_format] => %s_idx
[seqname_format] => %s_seq
[savepoint_format] => MDB2_SAVEPOINT_%s
[seqcol_name] => sequence
[quote_identifier] =>
[use_transactions] => 1
[decimal_places] => 2
[portability] => 127
[modules] => Array
(
[ex] => Extended
[dt] => Datatype
[mg] => Manager
[rv] => Reverse
[na] => Native
[fc] => Function
)

[emulate_prepared] =>
[datatype_map] => Array
(
)

[datatype_map_callback] => Array
(
)

[base_transaction_name] => ___php_MDB2_sqlite_auto_commit_off
[fixed_float] => 0
[database_path] =>
[database_extension] =>
[server_version] =>
)

[escape_pattern] =>
[wildcards] => Array
(
[0] => %
[1] => _
)

[as_keyword] => AS
[warnings] => Array
(
)

[debug_output] =>
[in_transaction] =>
[nested_transaction_counter] => 0
[has_transaction_error] =>
[offset] => 0
[limit] => 0
[phptype] => sqlite
[dbsyntax] => sqlite
[last_query] => SELECT * FROM mail_queue WHERE sent_time IS NULL AND try_sent < 25 AND time_to_send < '2006-09-08 15:03:28' ORDER BY time_to_send LIMIT 0,10
[fetchmode] => 2
[modules] => Array
(
[Datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

)

[destructor_registered] => 1
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)

[datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

[loaded_version_modules] => Array
(
[0] => datatype
)

)

[mail_table] => mail_queue
[sequence] => mail_queue
[queue_data] => Array
(
)

[_current_item] => 0
[_last_item] => 0
[limit] => 10
[offset] => 0
[try] => 25
[force_preload] =>
[buffer_size] => 20
[pearErrorMode] => 1
)

[type] => ->
[args] => Array
(
)

)

[3] => Array
(
[file] => C:\system_data\websites\customers\zeydel\lib\PEAR\Mail\Queue.php
[line] => 384
[function] => get
[class] => Mail_Queue_Container
[object] => Mail_Queue_Container_mdb2 Object
(
[db] => MDB2_Driver_sqlite Object
(
[escape_quotes] => '
[escape_identifier] => "
[_lasterror] =>
[fix_assoc_fields_names] => 64
[db_index] => 1
[dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connected_dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connection] => Resource id #70
[opened_persistent] =>
[database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_server_info] =>
[supported] => Array
(
[sequences] => emulated
[indexes] => 1
[affected_rows] => 1
[summary_functions] => 1
[order_by_text] => 1
[transactions] => 1
[savepoints] =>
[current_id] => emulated
[limit_queries] => 1
[LOBs] => 1
[replace] => 1
[sub_selects] => 1
[auto_increment] => 1
[primary_key] =>
[result_introspection] =>
[prepared_statements] => emulated
[identifier_quoting] => 1
[pattern_escaping] =>
)

[options] => Array
(
[ssl] =>
[field_case] => 0
[disable_query] =>
[result_class] => MDB2_Result_%s
[buffered_result_class] => MDB2_BufferedResult_%s
[result_wrap_class] =>
[result_buffering] => 1
[fetch_class] => stdClass
[persistent] =>
[debug] => 0
[debug_handler] => MDB2_defaultDebugOutput
[debug_expanded_output] =>
[default_text_field_length] => 4096
[lob_buffer_length] => 8192
[log_line_break] =>

[idxname_format] => %s_idx
[seqname_format] => %s_seq
[savepoint_format] => MDB2_SAVEPOINT_%s
[seqcol_name] => sequence
[quote_identifier] =>
[use_transactions] => 1
[decimal_places] => 2
[portability] => 127
[modules] => Array
(
[ex] => Extended
[dt] => Datatype
[mg] => Manager
[rv] => Reverse
[na] => Native
[fc] => Function
)

[emulate_prepared] =>
[datatype_map] => Array
(
)

[datatype_map_callback] => Array
(
)

[base_transaction_name] => ___php_MDB2_sqlite_auto_commit_off
[fixed_float] => 0
[database_path] =>
[database_extension] =>
[server_version] =>
)

[escape_pattern] =>
[wildcards] => Array
(
[0] => %
[1] => _
)

[as_keyword] => AS
[warnings] => Array
(
)

[debug_output] =>
[in_transaction] =>
[nested_transaction_counter] => 0
[has_transaction_error] =>
[offset] => 0
[limit] => 0
[phptype] => sqlite
[dbsyntax] => sqlite
[last_query] => SELECT * FROM mail_queue WHERE sent_time IS NULL AND try_sent < 25 AND time_to_send < '2006-09-08 15:03:28' ORDER BY time_to_send LIMIT 0,10
[fetchmode] => 2
[modules] => Array
(
[Datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

)

[destructor_registered] => 1
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)

[datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

[loaded_version_modules] => Array
(
[0] => datatype
)

)

[mail_table] => mail_queue
[sequence] => mail_queue
[queue_data] => Array
(
)

[_current_item] => 0
[_last_item] => 0
[limit] => 10
[offset] => 0
[try] => 25
[force_preload] =>
[buffer_size] => 20
[pearErrorMode] => 1
)

[type] => ->
[args] => Array
(
)

)

[4] => Array
(
[file] => C:\system_data\websites\customers\zeydel\webapp\modules\Email\actions\SendFromQueue.class.php
[line] => 59
[function] => get
[class] => Mail_Queue
[object] => Mail_Queue Object
(
[mail_options] => Array
(
[driver] => smtp
[host] => your_smtp_server.com
[port] => 25
[auth] =>
[username] =>
[password] =>
)

[container] => Mail_Queue_Container_mdb2 Object
(
[db] => MDB2_Driver_sqlite Object
(
[escape_quotes] => '
[escape_identifier] => "
[_lasterror] =>
[fix_assoc_fields_names] => 64
[db_index] => 1
[dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connected_dsn] => Array
(
[phptype] => sqlite
[dbsyntax] => sqlite
[username] =>
[password] =>
[protocol] => tcp
[hostspec] => localhost
[port] =>
[socket] =>
[database] =>
[mode] =>
)

[connection] => Resource id #70
[opened_persistent] =>
[database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_database_name] => C:/system_data/websites/customers/zeydel/webapp/data/application.db
[connected_server_info] =>
[supported] => Array
(
[sequences] => emulated
[indexes] => 1
[affected_rows] => 1
[summary_functions] => 1
[order_by_text] => 1
[transactions] => 1
[savepoints] =>
[current_id] => emulated
[limit_queries] => 1
[LOBs] => 1
[replace] => 1
[sub_selects] => 1
[auto_increment] => 1
[primary_key] =>
[result_introspection] =>
[prepared_statements] => emulated
[identifier_quoting] => 1
[pattern_escaping] =>
)

[options] => Array
(
[ssl] =>
[field_case] => 0
[disable_query] =>
[result_class] => MDB2_Result_%s
[buffered_result_class] => MDB2_BufferedResult_%s
[result_wrap_class] =>
[result_buffering] => 1
[fetch_class] => stdClass
[persistent] =>
[debug] => 0
[debug_handler] => MDB2_defaultDebugOutput
[debug_expanded_output] =>
[default_text_field_length] => 4096
[lob_buffer_length] => 8192
[log_line_break] =>

[idxname_format] => %s_idx
[seqname_format] => %s_seq
[savepoint_format] => MDB2_SAVEPOINT_%s
[seqcol_name] => sequence
[quote_identifier] =>
[use_transactions] => 1
[decimal_places] => 2
[portability] => 127
[modules] => Array
(
[ex] => Extended
[dt] => Datatype
[mg] => Manager
[rv] => Reverse
[na] => Native
[fc] => Function
)

[emulate_prepared] =>
[datatype_map] => Array
(
)

[datatype_map_callback] => Array
(
)

[base_transaction_name] => ___php_MDB2_sqlite_auto_commit_off
[fixed_float] => 0
[database_path] =>
[database_extension] =>
[server_version] =>
)

[escape_pattern] =>
[wildcards] => Array
(
[0] => %
[1] => _
)

[as_keyword] => AS
[warnings] => Array
(
)

[debug_output] =>
[in_transaction] =>
[nested_transaction_counter] => 0
[has_transaction_error] =>
[offset] => 0
[limit] => 0
[phptype] => sqlite
[dbsyntax] => sqlite
[last_query] => SELECT * FROM mail_queue WHERE sent_time IS NULL AND try_sent < 25 AND time_to_send < '2006-09-08 15:03:28' ORDER BY time_to_send LIMIT 0,10
[fetchmode] => 2
[modules] => Array
(
[Datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

)

[destructor_registered] => 1
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)

[datatype] => MDB2_Driver_Datatype_sqlite Object
(
[valid_default_values] => Array
(
[text] =>
[boolean] => 1
[integer] => 0
[decimal] => 0
[float] => 0
[timestamp] => 1970-01-01 00:00:00
[time] => 00:00:00
[date] => 1970-01-01
[clob] =>
[blob] =>
)

[lobs] => Array
(
)

[db_index] => 1
)

[loaded_version_modules] => Array
(
[0] => datatype
)

)

[mail_table] => mail_queue
[sequence] => mail_queue
[queue_data] => Array
(
)

[_current_item] => 0
[_last_item] => 0
[limit] => 10
[offset] => 0
[try] => 25
[force_preload] =>
[buffer_size] => 20
[pearErrorMode] => 1
)

[send_mail] =>
[pearErrorMode] => 1
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)

)

[type] => ->
[args] => Array
(
)

)

[5] => Array
(
[file] => C:\system_data\websites\customers\zeydel\lib\smvc\model\Model.class.php
[line] => 246
[function] => perform
[class] => SendFromQueueAction
[object] => SendFromQueueAction Object
(
[constructorData] =>
[model] => Model Object
(
[registeredModules:private] => Array
(
[Content] => Array
(
[name] => Content
[version] => 0.1
[active] => 1
[visibility] => 1
[hasAdmin] =>
[admin_nav_title] => Content
[admin_nav] =>
)

[Email] => Array
(
[name] => Email
[version] => 0.1
[active] => 1
[visibility] =>
[hasAdmin] =>
)

[Newsletter] => Array
(
[name] => Newsletter
[version] => 0.1
[active] => 1
[visibility] => 1
[hasAdmin] =>
[admin_nav_title] => Newsletter
[admin_nav] => Array
(
[0] => Array
(
[name] => Send Newsletter
[type] => param
[params] => view=Newsletter-Send
[security] => 5
)

[1] => Array
(
[name] => Process Newsletters
[type] => param
[params] => view=Newsletter-Process
[security] => 15
)

)

)

[Postings] => Array
(
[name] => Postings
[version] => 0.1
[active] => 1
[visibility] => 1
[hasAdmin] =>
[admin_nav_title] => Postings
[admin_nav] => Array
(
[0] => Array
(
[name] => Fetch Postings
[type] => param
[params] => view=Postings-Fetch
[security] => 15
)

[1] => Array
(
[name] => Manage Postings
[type] => param
[params] => view=Postings-Manage
[security] => 5
)

)

)

[Users] => Array
(
[name] => Users
[version] => 0.1
[active] => 1
[visibility] => 1
[hasAdmin] =>
[admin_nav_title] => Users
[admin_nav] => Array
(
[0] => Array
(
[name] => Add
[type] => param
[params] => view=Users-Add
[security] => 10
)

[1] => Array
(
[name] => Manage
[type] => param
[params] => view=Users-Manage

[2006-10-20 17:39 UTC] randy at rcs-comp dot com

Sorry, but I did not have time to debug this, so I just made a Creole container since I am much more familiar with Creole.

http://rcs-comp.com/phpcode/creole.php

Feel free to modify and incorporate into the project if you desire to do so. It will need to be worked on some b/c it uses exceptions for error handling since I run PHP 5 only shop. Also, I added a function towards the bottom of the code queueSize(), which returns the number of rows in the DB that are emails that still need to be sent.

OTHER ISSUES:
-------------

I noticed another bug (?) in the container classes. In the constructors of the containers, if something fails, you try and return a Mail_Queue_Error object. However, in the PHP 5 version that I am using, the Mail_Queue_Error object was never returned even when there was an error. The constructor would always return an instance of that container object instead (i.e. Mail_Queue_Container_mdb2 object). That is one reason why my Creole class uses exceptions.

I hope this helps some.

[2007-01-20 13:55 UTC] randy at rcs-comp dot com

Sorry about the .php file. Here you go:

http://rcs-comp.com/phpcode/creole.php.txt

I am sorry, but I won't be able to test the new cvs version b/c of time constraints. However, the next time that I am working with mail_queue, I will give it a shot.