Commit Graph

261 Commits

Author SHA1 Message Date
Ilia Alshanetsky
d97da3e222 Fixed bug #31288 (Possible crash in mysql_fetch_field(), if
mysql_list_fields() was not called previously).
2005-02-22 14:58:49 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Ilia Alshanetsky
f9cec029c8 Fixed bug #28632 (Prevent open_basedir bypass in MySQL's LOAD DATA LOCAL). 2004-06-04 15:26:54 +00:00
Ilia Alshanetsky
0e443166e0 Fixed bug #28627 (When multiple MySQL links are used default link is
leaked).
Patch by: gavin at ipalsoftware dot com
2004-06-04 13:49:31 +00:00
Ilia Alshanetsky
7a11fe48b6 Fixed bug #28087 (Do not force mysql.trace_mode to 0 on every request). 2004-04-23 17:03:52 +00:00
Zeev Suraski
30171a7590 zend_default_classes.h -> zend_exceptions.h 2004-02-12 10:43:27 +00:00
Andrey Hristov
463f510796 message about that mysql_list_tables() is deprecated 2004-01-27 23:14:42 +00:00
Marcus Boerger
3fb99f62e0 Synch mysql_fetch_object with mysqli, sqlite and pgsql 2004-01-12 02:34:55 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Ilia Alshanetsky
d9bf51b17c 10-18% optimization of fetch_array(), when both number & string indexes are
created.

# Do we want to MFH the change (for ext/mysql) into 4.3.X?
2003-11-07 17:20:49 +00:00
Ilia Alshanetsky
763b39cc1d Fixed compile warnings. 2003-10-03 01:07:35 +00:00
Ilia Alshanetsky
4aaa2becbe String format stuff. 2003-09-22 23:27:51 +00:00
Ilia Alshanetsky
9d9727aac5 Fixed compiler warnings. 2003-08-28 19:17:34 +00:00
Ilia Alshanetsky
93bcd55eaf emalloc -> safe_emalloc 2003-08-12 00:58:52 +00:00
Ilia Alshanetsky
5c6ee17a9e Fixed bug #24977 (Revert mysql_select_db optimization) 2003-08-08 13:36:28 +00:00
Ilia Alshanetsky
5fcff2d872 * Fixed bug #24535 (Crash when retrieving data from unbuffered result after
the original connection has been changed).
* Fixed a crash when trying to fetch an unbuffered result after
mysql_close() has been called.
* Added a check to make sure no unbuffered results are inside the buffer
when calling functions that internally execute a query. Affected functions
are: mysql_select_db(), mysql_list_dbs(), mysql_list_tables(),
mysql_list_processes(), mysql_list_fields(), mysql_stat() and mysql_ping().
* Do not re-select a database if the database to be selected is the same.
2003-07-22 16:05:32 +00:00
Ilia Alshanetsky
d860759db9 Make the default mysql connection timeout 60 seconds rather then unlimited. 2003-06-18 15:19:16 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Andrey Hristov
3ae8d27176 proto fixes 2003-06-10 14:06:20 +00:00
Sterling Hughes
287d5f277e don't do this on startup, lazy initialize it. This takes up > 17% of load
time in CGI mode
2003-06-01 02:29:28 +00:00
Ilia Alshanetsky
209bba391b Fixed bug #23888 (Missing input validation for flags parameter) 2003-05-30 14:08:14 +00:00
Rasmus Lerdorf
8effacb144 MFB 2003-05-28 16:19:08 +00:00
Derick Rethans
0596442eef - MFB: Fixed bug #23661: mysql_fetch_array gives no warning on an invalid
result_type
2003-05-16 19:09:19 +00:00
Derick Rethans
a802e0d6b3 - Fixed protos 2003-04-11 09:53:01 +00:00
Ilia Alshanetsky
8a9ff734a0 Fixed a crash in the query tracer output due to buffer overflow.
Fixed a crash in notice message for unbuffered query.
2003-04-10 04:35:39 +00:00
foobar
3c9155e0cb Renamed OnUpdateInt -> OnUpdateLong to prevent further misunderstandings.
# Intentionally left out any 'alias' for it, this way 3rd party extension
# maintainers will really NOTICE the change.
2003-03-07 05:15:28 +00:00
Wez Furlong
0a18a9d744 A add much more useful select(2) implementation than is provided by
windows sockets.  The winsock implementation will only work with sockets;
our implementation works with sockets and file descriptors.
By association, stream_select() will now operate correctly with files, pipes and sockets.

This change required linking against the winsock2 library.  In terms of
compatibility, only older versions of windows 95 do not have winsock2
installed by default.  It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user.

Also, add a win32 compatible pipe test when opening a stream from a pipe.  This test will only work on NT, win2k and XP platforms.  Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered.  I will be working on a fix for this issue for win9x.
2003-02-16 03:48:49 +00:00
Ilia Alshanetsky
453368afdf Removed pointless checks. 2003-01-30 02:33:16 +00:00
Ilia Alshanetsky
e2868b5788 Removed pointless memory allocation checks. 2003-01-18 19:41:56 +00:00
Georg Richter
5312594a27 fixed bug #21498 2003-01-08 11:00:06 +00:00
Georg Richter
8aeb7f35bc fixed missing & (Thx to Sebastian Bergmann) 2003-01-06 14:13:47 +00:00
Georg Richter
2fbb9a5247 fixed bug #21435 2003-01-05 20:53:06 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Georg Richter
d5f02c553b fixed some warning when using external 4.x libs 2002-12-20 18:52:27 +00:00
Marcus Boerger
47b0e79b1a -fix a warning that was an error
-php_error -> php_error_docref
2002-12-05 20:01:31 +00:00
Georg Richter
208a3a3717 forgot to decrement result_allocated :( 2002-11-16 16:07:54 +00:00
Georg Richter
d46bd1cd63 removed restore_connection_defaults for pconnects (discussed on php-dev@)
bug #19529 closed
bug #12513 reopened
2002-11-15 10:35:10 +00:00
Derick Rethans
801c698992 - Reset globals for each request 2002-11-13 08:54:34 +00:00
Derick Rethans
28d3be43a3 - Fix warning 2002-11-12 08:11:23 +00:00
Zak Greant
c29f1aa468 Modified php_mysql_do_connect() as suggested by Nick Gaugler - using
mysql_ping() as a more efficient alternative to using mysql_stat() to
check if the server is alive and then calling mysql_(real_)?connect() to
reconnect.

Simple tests of opening pconnects indicate that only about 10k of data per
ping needs to be returned to the client per connection check, rather than
about 110k per status check.
2002-11-12 01:41:16 +00:00
Ilia Alshanetsky
aec6258a17 Fixed compile warnings. 2002-11-11 16:54:26 +00:00
Georg Richter
f328f3ea51 Added new functionality:
Warnings for table/index scans
	Warnings for SQL-Errors
	Warnings for non free result sets

It can be activated via ini.setting "mysql.trace_mode"
2002-11-11 12:54:06 +00:00
Sascha Schumann
2909e5c9c9 centralize #include "build-defs.h" and drop (sometimes inconsistent) other
instances
2002-10-24 13:15:49 +00:00
Yasuo Ohgaki
29d16f67f4 Remove mysql_result_seek() alias. 2002-10-17 07:24:04 +00:00
Zak Greant
70e49320f1 Removed spurious code. Thanks Derick 2002-10-09 13:46:18 +00:00
Zak Greant
6a590082ca Minor tweak - using memcpy(), instead of strcpy() for static strings. Gives better performance. Thanks Zeev. 2002-10-09 13:05:42 +00:00
Zak Greant
0ecf32f750 Possible fix for bug #19529 (thanks Rasmus, Arjen and Monty)
Major changes to _restore_connection_defaults
 - added code block to finds and releases the active mysql result (if any)
 - this should prevent the 'Commands out of sync' error that would be
   raised when a query is made when unfreed results exist

Minor changes to _restore_connection_defaults
 - replaced calls to mysql_real_query with mysql_query
   - we probably should not be using mysql_real_query without checking to
     see if we have a version that supports the function.
   - given that we control the query strings here and do not need to
     worry about binary safety, I am using mysql_query instead
   - see the bug report for further discussion
2002-10-09 12:33:40 +00:00
Zak Greant
dbf1d82afa Set default value for mysql.connect_timeout to -1. This setting matches the setting in php.ini-dist and ensures that the default behavior is to leave connect_timeout alone. 2002-10-09 07:34:48 +00:00
Markus Fischer
945ccfa76a - Remove superfluous E_WARNING if mysql_connect() fails; there's already
an E_WARNING a few lines above.
2002-10-05 00:54:31 +00:00
Yasuo Ohgaki
1b675aa690 Rename pg_data_seek() to pg_result_seek().
Added mysql_result_seek() which is alias of mysql_data_seek().
2002-10-03 02:32:09 +00:00
Derick Rethans
c57b3c6533 - Un-deprecating mysql_escape_string
#- This will remove the annoying notices, while this function is used in
#  a lot of scripts. There is not reason why we should discontinue it's use
#  as it works perfect for about 99% of the time.
2002-09-11 21:06:52 +00:00
Georg Richter
a9c64d174b - renamed rollback function to _restore_connection_default
- in _restore_connection_default:
  - unset the selected database (thx to Paul DuBois)
  - set session variable autocommit to default (=1)
2002-09-09 15:53:05 +00:00
Georg Richter
0797d5f989 fixed typo 2002-09-06 12:11:30 +00:00
foobar
04bbf46957 Fix bug: #19159, mysql_field_count was available since 3.22.24 2002-08-29 01:17:24 +00:00
Yasuo Ohgaki
d23cb1686d Rename mysql_character_set_name() to mysql_client_encoding(). pg_client_encoding() is available from PHP4.0.3 and this function is available from PHP 4.3.0 2002-08-24 21:41:25 +00:00
Zeev Suraski
4b81d04210 Undeprecate mysql_db_query() 2002-08-24 13:15:35 +00:00
Georg Richter
11bd3c08b6 changed zend_error -> php_error_docref() 2002-08-24 10:53:40 +00:00
Georg Richter
3bd2a54064 changed error messages according to CODING_STANDARDS 2002-08-24 09:27:51 +00:00
Georg Richter
0c386174db fixed bug #19016
SSL is only available for MYSQL_VERSION_ID >= 40000
2002-08-23 14:10:27 +00:00
Georg Richter
8153dfc877 fixed bug #16965 2002-08-23 10:16:19 +00:00
Georg Richter
0019a842b4 forgot to remove another LOCAL_INFILE opion call 2002-08-09 21:13:00 +00:00
Georg Richter
f9e5ba3446 Ups, forgot to remove load_infile tests. Thx to Brad Bulgar 2002-08-08 08:17:24 +00:00
Georg Richter
8f7792a769 added zend_error messages for deprecated functions
inserted zak and me in author list/credits
2002-08-07 22:02:11 +00:00
Georg Richter
f4b4797aa8 removed unsued constants (MYSQL_USE_RESULT and MYSQL_STORE_RESULT) 2002-08-07 21:21:46 +00:00
Georg Richter
cbcdae7002 removed changes for mysql_select_db (optional parameter)
Why:
1) Its not the common way to add additionally functionality for functions or
features which are already implemented in SQL. Therefore also a lot of
mysql functions are marked as deprecated (and will be removed in near future)

2) The implemented workaround works only when mysql_select_db was called
before (fetching the databasename from mysql->conn.db). It returns invalid
or inconsistent results e.g.:

- when "USE databasename" via mysql_query was used
- when database was dropped or grant privileges had changed.

In conjunction with persistent connection, there are also some inconsistencies,
cause mysql_select_db returns the databasename from an old connection.

To determine the database name just use the SQL command "SELECT DATABASE()"
2002-07-21 21:36:10 +00:00
Georg Richter
96276bf8a0 fixed bug in mysql_real_escape_string:
allocated 1 more byte for '\0' terminating character
2002-07-21 20:16:03 +00:00
foobar
dcb0523894 fix protos 2002-07-16 19:26:23 +00:00
Georg Richter
950a576f73 Added support for php.ini parameter "mysql.connect_timeout" 2002-07-16 13:53:54 +00:00
Anantha Kesari H Y
44bbec7acb mysql_create_db and mysql_drop_db disabled for NetWare 2002-07-15 11:14:18 +00:00
foobar
5d001a9ab6 Partially reverted the netware related commit. 2002-07-12 23:25:30 +00:00
foobar
20a735db2c Beauify a bit.. 2002-07-12 22:59:35 +00:00
foobar
21245bcbeb Some ws fixes. And removed the problems causing typedef for ushort. 2002-07-12 22:57:19 +00:00
Anantha Kesari H Y
2af885d467 Added NetWare changes 2002-07-12 12:55:56 +00:00
Georg Richter
05007b0cbb 1) New constants:
MYSQL_CLIENT_SSL for ssl connections
MYSQL_CLIENT_COMPRESS for compressed protocol
MYSQL_CLIENT_IGNORE_SPACES for spaces after function names
MYSQL_CLIENT_INTERACTIVE for closing connections after timeout_interactive seconds

2) Optional parameter client_flags for mysql_connect and mysql_pconnect
For parameter desctiption see 1.
This also should fix bug #13589

3) New internal function _rollback_mysql_transactions, which is called via
PHP_RSHUTDOWN_FUNCTION
This fixes bug #12513
2002-07-10 13:16:24 +00:00
Derick Rethans
7d4a78bad5 Unify error messages 2002-06-26 08:07:59 +00:00
Zak Greant
4128739695 Minor improvement to error message for mysql_data_seek 2002-05-08 07:38:09 +00:00
foobar
80f9fdf3c7 @- Added optional 3rd parameter to mysql_select_db() which makes it return
@  the previously selected database name. (Jani)
2002-04-28 06:38:12 +00:00
foobar
305260ce4a kill a compile warning 2002-04-28 05:36:05 +00:00
Sebastian Bergmann
c57ab20ac8 Make use of HAVE_MYSQL. Reviewed by: Sterling. 2002-04-18 16:48:03 +00:00
foobar
a0e3bd8f0e WS fix 2002-03-29 12:56:25 +00:00
Jan Lehnardt
bc19dd6900 - add mysql_info function 2002-03-29 12:47:02 +00:00
Georg Richter
6a0bf08ce3 fixed prototype for mysql_ping 2002-03-25 12:09:38 +00:00
Sterling Hughes
7ae1dd662f more zend_parse_parameters fixup 2002-03-25 01:19:59 +00:00
Sterling Hughes
3c3ae850a2 Fix-up the last fix a bit
Clean up mysql_list_processes
2002-03-25 01:14:30 +00:00
Sterling Hughes
05475d809b clean up mysql_real_escape_string() a bit
# I really think we should just add a database handle
# parameter to mysql_escape_string()
2002-03-25 01:07:23 +00:00
Zak Greant
3fae05b014 Added mysql_table_name() alias for mysql_tablename()
Improved logic of parameter parsing code for mysql_ping
 - made test for no arguments more explicit
 - combined to if blocks into one if/else if block
2002-03-24 23:33:07 +00:00
Sander Roobol
f12dfba7e0 Fixed tiny mistake in proto (tnx to Egon for spotting it). 2002-03-24 18:19:31 +00:00
Sander Roobol
68b18b05fe Fix typo in proto. 2002-03-24 18:01:41 +00:00
Derick Rethans
a9439b7072 - Fix proto 2002-03-24 17:59:39 +00:00
Georg Richter
c47244cd8a changed prototype for mysql_real_escape_string 2002-03-24 17:57:32 +00:00
Zak Greant
fa4bd7ab32 Added mysql_ping() function. 2002-03-24 17:34:20 +00:00
Georg Richter
e15bb45a1e a) ws fixed
b) changed mysql_list_processes, mysql_stat (zend_parse_parameters)
c) New functions:
	1) mysql_real_escape_string	this function is similar to mysql_escape_string (deprecated).
					it needs a mysql-connection to escape a string according to the
					current character set

	2) mysql_character_set_name	returns the current character set for the connection

	3) mysql_thread_id		return the pid for the current connection. This function is usefull
					when using mysql_list_processes
2002-03-24 17:19:19 +00:00
Zak Greant
28de0b545e (PHP mysql_list_processes) Returns a pointer to a result set containing
information on the processes running in the
                           MySQL server.
(PHP mysql_stat) Returns a string containing information on the status
                 of the MySQL server.
@- Added two new functions: mysql_list_processes and mysql_stat (Georg)
@- mysql_list_processes() fetches information on the processes running on
@  the MySQL server.
@- mysql_stat() returns status information for a MySQL server.
#  Committed for Georg by Zak
2002-03-24 10:57:40 +00:00
foobar
00929ff9ac - Fixed bug: #16139 (compile failure with Mysql 4.0.1)
- Some tests were only run when compiling with the bundled libs.
  (caused some compile warnings with external mysql libs)
- Another try to fix the zlib issue..(uncompress)
2002-03-20 01:31:22 +00:00
Andi Gutmans
c8e7db984c - Allow duality between Engine 1 & 2 using ZEND_STANDARD_CLASS_DEF_PTR 2002-03-12 20:18:01 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Zak Greant
3ac1646ef2 Corrected bug in php_mysql_fetch_hash() that prevented columns with NULL values from having both numeric and associative indexes. (Bug 14291) 2001-12-30 10:00:26 +00:00
Alex Waugh
57d2cec170 Check for ushort 2001-12-23 14:37:24 +00:00
Zeev Suraski
9590c5173c Fix bug #13456 - I'm unable to actually test it 2001-12-15 17:09:37 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00