Hi,

I am running : MySQL Server version: 5.1.69-0ubuntu0.10.04.1 (Ubuntu)

It seems that we cannot specify Engine while creating database. [1]

Committed typo fix in r1499405

[1] http://stackoverflow.com/questions/4755854/create-innodb-database-in-mysql

________________________________
 From: Karl Wright <[email protected]>
To: dev <[email protected]>; Ahmet Arslan <[email protected]> 
Sent: Wednesday, July 3, 2013 4:27 PM
Subject: Re: MySQL exception "Specified key was too long; max key length is 
1000 bytes"
 

Hi Ahmet,

First, I am curious what version of MySQL you are using.  The schema for
IntrinsicLink has not changed in a long time and I have been running tests
on it quite consistently.  I'm using a 5.5 variant (don't have access to
that right now, but I can look it up Sunday.)

Second, for small typos, just commit a fix.

Third, the preferred way of fixing the MySQL problem you mention is none of
the above.  Is there a way to set INNODB by default for a database?  If so
it should be set in createUserAndDatabase() in the DBInterfaceMySQL class.
If this doesn't work, (2) is the best alternative.

Karl



On Wed, Jul 3, 2013 at 8:50 AM, Ahmet Arslan <[email protected]> wrote:

> Hi,
>
> When installing ManfoldCF with MySQL database, initialize.sh scripts fails
> with the following exception.
>
> I found out that MySQL tables should be InnoDB to overcome this
> constraint. For a workaround I changed the storage engine used by default
> via
> "set GLOBAL storage_engine='InnoDb';"
>
> After this change,  initialize.sh successfully initialized database and
> registered all connectors.
>
> What is the preferred way in this scenario
>
> 1) Document (Configuring a MySQL database) to execute "set GLOBAL
> storage_engine='InnoDb';" before initialize.sh when using MySQL
>
> 2)
> Modify org.apache.manifoldcf.core.database.DBInterfaceMySQL#performCreate
> method to specify "ENGINE=InnoDB;" when creating table(s).
>
> Also I found a small typo (datastyle => datestyle) at how to build and
> deploy page. What is the preferred way to correct these kind of small
> typos? Direct commit? Jira?
>
> Thanks,
> Ahmet
>
> org.apache.manifoldcf.core.interfaces.ManifoldCFException: Database
> exception: SQLException doing query (42000): Specified key was too long;
> max key length is 1000 bytes
> at
> org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:717)
> at
> org.apache.manifoldcf.core.database.Database.executeUncachedQuery(Database.java:745)
> at
> org.apache.manifoldcf.core.database.Database$QueryCacheExecutor.create(Database.java:1430)
> at
> org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:144)
> at
> org.apache.manifoldcf.core.database.Database.executeQuery(Database.java:186)
> at
> org.apache.manifoldcf.core.database.DBInterfaceMySQL.performModification(DBInterfaceMySQL.java:690)
> at
> org.apache.manifoldcf.core.database.DBInterfaceMySQL.performAddIndex(DBInterfaceMySQL.java:509)
> at
> org.apache.manifoldcf.core.database.BaseTable.performAddIndex(BaseTable.java:139)
> at
> org.apache.manifoldcf.crawler.jobs.IntrinsicLink.install(IntrinsicLink.java:140)
> at org.apache.manifoldcf.crawler.jobs.HopCount.install(HopCount.java:190)
> at
> org.apache.manifoldcf.crawler.jobs.JobManager.install(JobManager.java:79)
> at
> org.apache.manifoldcf.crawler.system.ManifoldCF.installSystemTables(ManifoldCF.java:506)
> at
> org.apache.manifoldcf.crawler.system.CrawlerAgent.install(CrawlerAgent.java:48)
> at
> org.apache.manifoldcf.agents.agentmanager.AgentManager.registerAgent(AgentManager.java:146)
> at
> org.apache.manifoldcf.crawler.system.ManifoldCF.registerThisAgent(ManifoldCF.java:176)
> at
> org.apache.manifoldcf.crawler.InitializeAndRegister.doExecute(InitializeAndRegister.java:41)
> at
> org.apache.manifoldcf.crawler.InitializeAndRegister.main(InitializeAndRegister.java:60)
> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
> Specified key was too long; max key length is 1000 bytes
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
> at com.mysql.jdbc.Util.getInstance(Util.java:381)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2466)
> at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:735)
> at org.apache.manifoldcf.core.database.Database.execute(Database.java:836)
> at
> org.apache.manifoldcf.core.database.Database$ExecuteQueryThread.run(Database.java:677)

Reply via email to