Age | Commit message (Collapse) | Author | Files | Lines |
|
Re-allocated exit status codes according to three references, which follow:
BSD sysexits.h:http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
GNU recomendations:http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html
Bash scripting:http://tldp.org/LDP/abs/html/exitcodes.html
The GNU recommendations stem from and expand upon the standard C/C++ library (stdlibc)
definitions, while also suggesting some best-practice conventions which happen to prevent
exit status code collisions with bash, and probably other shells.
The re-allocated codes are now mapped to constant values, set in *application/config/constants.php*,
and used throughout the CodeIgniter core. They would additionally be used in *index.php*,
but the constants file hasn't been loaded at that point, so the integer values are used
instead, and a comment follows each such use with amplifying information on why that
particular value was selected.
Finally, the errors documentation has been updated accordingly.
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
|
|
feature/exit-status
|
|
DB_driver's trans_complete exception fix
|
|
checks ...
|
|
Note: The Driver libary tests seem to depend on that, so one occurence in CI_Loader is left until we resolve that.
|
|
|
|
Improving on PR #2265, the property is inherited with the same value and doesn't need to be set.
|
|
|
|
|
|
On the first list_fields call, the field pointer is moved to the end
of the list of fields. This change ensures that the pointer is
positioned at the start of the field list before grabbing the names.
Signed-off-by: Chris Buckley <chris@cmbuckley.co.uk>
|
|
|
|
As suggested in issue #2134 & PR #2149
|
|
Specific codes are as follows, but can easily be changed if a different order/breakdown makes more sense:
- 0: Success; everything executed as planned
- 1: Configuration Error; something is wrong with/in the configuration file(s)
- 2: Class Not Found; what it says
- 3: Driver Method Unsupported; the method you're trying to use on a Driver doesn't exist
- 4: File Not Found; 404 error
- 5: Database Error; something is broken in the database somewhere
- 6: Invalid Input; the user attempted to submit a request with invlaid characters in 1+ key names
7 through 26 are reserved for future use
- 27: Generic Error; generated by show_error() when the status code is >= 100
28 through 127 are errors generated by user applications, normally by using show_error() with a status code below 100
128 through 254 should not be used by applications, as they are reserved by system-level functions
- 255: PHP Fatal Error; automatically generated by PHP for fatal errors, and therefore not allowed for our use
Status codes below 100 are shifted up by 28 to place them in the user error range. It may make more sense to have these codes
left alone and instead shift the CI errors into the 101 through 127 space, but that's not what I opted for here.
It would probably also be a good idea to replace the hard-coded numbers with constants or some such, but I was in a bit of a
hurry when I made these changes, so I didn't look around for the best place to do this. With proper guidance, I could
easily amend this commit with another that uses such constant values.
Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
|
|
so that it's only called by drivers that need it ('mysql', 'mssql').
As proposed in issue #2187.
|
|
|
|
Exact same behavior, but faster. I also think it's more readable.
|
|
Added protected method _escape_str() to deal with quote escaping.
|
|
|
|
|
|
|
|
|
|
|
|
change log
Signed-off-by:Andrew Podner <a.podner@me.com>
|
|
and re-enable foreign key checks in a MySQL database backup output statement.
|
|
|
|
method that returns $this to @return CI_DB_class_name)
|
|
|
|
It can only call oci_execute() in order to reset the pointer to 0,
the oci8 driver doesn't support setting the pointer.
Due to the result_object(), result_array() and custom_result_object()
calling data_seek() every time prior to fetching the result set, this
only causes the query to be executed twice. All of the three methods
now cast from existing result_object and/or result_array sets, so the
probability to ever need to really fetch the result set again is
practically zero and so this method doesn't bring any benefit.
|
|
(as requested in #2050)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SQLSRV - Connection error if database name contains space-characters
|
|
|
|
|
|
Connection error if database name contains space-characters.
Use of MSSQL brackets =>
'USE [Database Name]'
instead of
'USE Database Name'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|