List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:August 5 1999 4:19pm
Subject:Problems with 3.23.1 alpha on Solaris
View as plain text  
Hi!

>>>>> "Christian" == Christian Kirsch <ck@stripped> writes:

>> Description:
Christian> 	First, there is a "HAVE_SOLARIS_GETHOST_TYPE" define in acconfig.h 
Christian>         which is not tested for in the source of mysqld. Instead, it 
Christian>         uses an "#ifdef SOLARIS". Easy to fix, just change the ifdef.

One can't use HAVE_SOLARIS_GETHOST_TYPE as this is also defined for
some other platforms.



Christian>         Second, there is a (char *) cast missing in sql_parser which 
Christian>         causes gcc2.95 to choke, at least under Solaris. The relevant line
> is
Christian> 	202, and the casts are missing for the two literal strings in
Christian> 	the second argument of the function call.

Exactly what did you mean?  The following ?

  mysql_log.write(COM_CONNECT,
		  (thd->priv_user == thd->user ?
		   (char*) "%s@%s on %s" :
		   (char*) "%s@%s as anonymous on %s"),
		  thd->user,
		  thd->host ? thd->host : thd->ip,
		  thd->db ? thd->db : (char*) "");

PLEASE always use patches instead of describing what is wrong;  The
problem is that one may have done some changes in the source and it's
very cumbersome to have to unpack old releases just to check what one
means!

Christian>         Third, and this is the real problem: Although I can create
Christian> 	databases and tables in them, I can't convince mysql to
Christian> 	display them. For example, I can 
Christian> 		CREATE table (a int);
Christian>         and this will effectively create the files a.MYD, a.MYI and
Christian> 	a.frm in /usr/local/var/test. But 
Christian> 		show tables from test;
Christian>         in the monitor and
Christian> 		mysqlshow test
Christian>         from the command line produce empty result sets. The same goes
Christian> 	for the mysql database - the files are there, the permissions
Christian> 	are obviously visible to mysql (since not everybody can create
Christian> 	tables and databases), but it doesn't show them nor their
Christian> 	content. 

Christian> 	Could that be due to some funny problem with NFS mounted
Christian> 	volumes?

No, the problem was a missing row in 3.23.1.
Here is a patch:

*** /my/monty/master/mysql-3.23.0-alpha/sql/sql_show.cc	Sun Jul  4 18:48:21 1999
--- ./sql_show.cc	Wed Aug  4 18:57:59 1999
***************
*** 30,35 ****
--- 31,37 ----
  static int mysql_find_files(THD *thd,List<char> *files, const char *db,
  			    const char *path, const char *wild, bool dir);
  
+ 
  /****************************************************************************
  ** Send list of databases
  ** A database is a directory in the mysql_data_home directory
***************
*** 116,122 ****
    char *ext;
    MY_DIR *dirp;
    FILEINFO *file;
!   uint access=0;
    TABLE_LIST table_list;
    DBUG_ENTER("mysql_find_files");
  
--- 118,124 ----
    char *ext;
    MY_DIR *dirp;
    FILEINFO *file;
!   uint access=thd->col_access;
    TABLE_LIST table_list;
    DBUG_ENTER("mysql_find_files");
  

Regards,
Monty
Thread
Problems with 3.23.1 alpha on Solaris(Christian Kirsch)5 Aug
  • Problems with 3.23.1 alpha on SolarisMichael Widenius5 Aug