Hi List,
Just a question to ask the list.
Alex posted these fixes to libraries/sqlparser.lib.php3:
@@ -171,6 +171,10 @@ if (!defined('PMA_SQP_LIB_INCLUDED')) {
return $sql;
}
+ // rabus: Convert all line feeds to Unix style
+ $sql = str_replace("\r\n", "\n", $sql);
+ $sql = str_replace("\r", "\n", $sql);
+
$len = $GLOBALS['PMA_strlen']($sql);
if ($len == 0) {
return array();
This changes newline contents for the query before any parsing is done.
I think this should be avoided at this point, as it removes some newlines out of string escaped variables. Eg I might have
SELECT 'foo\n\r\n\rbar'; # foo, bar, sepereated by TWO lines we should actually preserve the contents of strings as they are.
If anybody can show me a testcase where we actually need this str_replace, then we can revise it, but I can't think of any, so in the name of speed, it should get removed.
@@ -227,7 +231,7 @@ if (!defined('PMA_SQP_LIB_INCLUDED')) {
// ANSI style --
if (($c == '#')
|| (($count2 + 1 < $len) && ($c == '/') && ($sql[$count2 + 1] == '*'))
- || (($count2 + 2 < $len) && ($c == '-') && ($sql[$count2 + 1] == '-') && ($sql[$count2 + 2] == ' '))) {
+ || (($count2 + 2 < $len) && ($c == '-') && ($sql[$count2 + 1] == '-') && ereg("(\n|[space])", $sql[$count2 + 2]))) {
$count2++;
$pos = 0;
$type = 'bad';
Intend that it could match broken ANSI comments of '--\n' in addition to the standard '-- '.
Should we support this as it is partially supported by MySQL?
I say partially, because the MySQL commandline client strips out anything matching '--.*\n',
but the actualy MySQL server if it is sent raw commands throws a syntax error on '--\n'.
I would say that we should follow the MySQL server in handling the input.
If we do keep it, lets change it to use only direct comparisions instead of regular expressions.
Regex should be avoided inside the parser, as it makes code much slower.
--
Robin Hugh Johnson
E-Mail : robbat2(a)orbis-terrarum.net
Home Page : http://www.orbis-terrarum.net/?l=people.robbat2
ICQ# : 30269588 or 41961639
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
Hi all... I've been a long time lurker, long time user of php and your
most excellent tool, phpMyAdmin.
I wanted to know if the searching was possible, say for example,
searching for a particular string as fieldname, and reporting what table
it was in.
The reason I ask is that I'm working on a fairly in depth project which
deals with multiple languages, and I have several thousand rows already
worth of material that is used for configuration data, language strings,
etc.
I thought it would be handy to have a quick search function where you
can pop in some text, and it'd spit out what tables it lives in.
Thanx in advance to any curious coders on the list willing to tackle this.
Thanx again for a most excellent tool. Hopefully, when my project
completes phase I, you'll see what I've been quietly working on too.
(phpMyJobs, already at sourceforge.)
Laters all.
-Chris Simmons,
Avid BeOS User,
php geek. ;-)
I have seen this issue crop up several times in the forums but have found no
resolution. I am running iis on Windows 2000, php 4.2.3 and phpMyAdmin
2.3.2. I have configured config.inc.php and when I reference index.php I
get the error:
Fatal error: Failed opening required './libraries/grab_globals.lib.php'
(include_path='.;c\php\pear') in c:\inetpub\wwwroot\phpmyadmin\index.php on
line 8
I wasn't sure if Winzip was unzipping a subdirectory called "libraries" so I
created one of those but got a blank index when I tried that. I've opened
my php.ini file and changed the include_path = '.' and "." and I removed the
semicolon as well to be sure it wasn't read as a comment. I still get the
error, but the "include_path=" just changes to read whatever I change the
above to.
I am new to php development (3 days young) and need some help. If this is
the wrong list ot post this to, I am sorry. Please direct me to the proper
list. I am about to start pullin my hair out over this one.
Thanks,
Bo Parker
boparker(a)mindspring.com