This is a MAB version of the Oracle Adaptor based on the Pre-Release 3.3 version of the Oracle Adaptor. It contains the following bug fix :
* The default Oracle date format in Release 3.2 does not return time. It hardcodes TO_CHAR(columnName, 'MM/DD/YYYY') when it extracts a date/time.
(Bug Ref#40437, Ref#38749)
With this patched adaptor, you can use a dwrite to change the default date format which is currently specified as "MM/DD/YYYY".
In a terminal shell, specify the following dwrite:
localhost> dwrite MyApp OracleAdaptorDateFormat "DD Year Month HH:MI:SS"
Note: You can specify any valid SQL format string. You can have a different format string for each application. Note that the dwrite only applies to a single machine and to a particular application. You would have to specify the dwrite on each machine individually.
* If the dwrite solution is not generic enough, you can change your application code to include the following methods:
- (const char *)dateFormat;
// This returns the current date format string used by the
// adaptor. It will never return NULL.
- (const char *)defaultDateFormat;
// By default this returns "MM/DD/YYYY". This default date
// format can be overridden by a dwrite:
// % dwrite <AppName> OracleAdaptorDateFormat "<format string>"
// This method never returns NULL.
- setDateFormat:(const char *)newDateFormat;
// This method is used to set the date format used by the
// adaptor. It will override the built-in and dwrite
// defaults. If newDateFormat is NULL, the default date
// format will be used. This method returns self.
In your application code, you can set the format inside appDidInit: for instance, by sending to the DBDatabase instance variable the method setDateFormat. For example: