<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>The InnoDB Forums - Embedded InnoDB</title>
        <description>Ask questions, discuss, report issues about and share your experiences with using Embedded InnoDB and its new API.</description>
        <link>http://forums.innodb.com/list.php?8</link>
        <lastBuildDate>Tue, 07 Sep 2010 15:16:05 +0300</lastBuildDate>
        <generator>Phorum 5.2.13</generator>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1265,1265#msg-1265</guid>
            <title>embedded InnoDb on a cluster file system (1 reply)</title>
            <link>http://forums.innodb.com/read.php?8,1265,1265#msg-1265</link>
            <description><![CDATA[ We have an application where we would like to use an embedded database<br />
on the GPFS cluster file system.  Is embedded InnoDb suitable for such<br />
an application?  GPFS has a lock manager and support  fcntl locking.<br />
<br />
Thanks!]]></description>
            <dc:creator>markd</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Tue, 03 Aug 2010 21:50:39 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1263,1263#msg-1263</guid>
            <title>bug: ib_cfg_set_text does not documented that string is *not* copied (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1263,1263#msg-1263</link>
            <description><![CDATA[ ib_cfg_set_text does not copy string value, it just saves a pointer.  However<br />
this not documented. This can lead to configuration corruption if a dynamic <br />
string is used.  It would be far safer if the string was copied, otherwise the<br />
documentation should contain a very obvious warning.]]></description>
            <dc:creator>markd</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Mon, 02 Aug 2010 01:15:09 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1262,1262#msg-1262</guid>
            <title>Minor question about InnoDB documentation - #3 (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1262,1262#msg-1262</link>
            <description><![CDATA[ Embedded InnoDB 1.0 User’s Guide and Reference, p. 97:<br />
<br />
fast shutdown - A shutdown procedure that is required before installation of the InnoDB Plugin. From the<br />
MySQL command line, issue the following command before performing the shutdown:<br />
SET GLOBAL innodb_fast_shutdown=0;<br />
<br />
This seems confusing to me.  Don't you want a slow (full) shutdown before installing the plugin?  I assume that's what innodb_fast_shutdown=0 does, but wouldn't that be the opposite of a fast shutdown, as stated above?]]></description>
            <dc:creator>underhill</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Sun, 01 Aug 2010 15:23:30 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1261,1261#msg-1261</guid>
            <title>Minor question about InnoDB documentation - #2 (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1261,1261#msg-1261</link>
            <description><![CDATA[ Embedded InnoDB 1.0 User’s Guide and Reference, p. 38:<br />
<br />
Top of the page, Section 6.5, Handles<br />
<br />
ib_crsrl_t Handle to an InnoDB cursor.<br />
<br />
Is this ib_crsrl_t or ib_crsr_t?]]></description>
            <dc:creator>underhill</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Sun, 01 Aug 2010 15:18:19 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1260,1260#msg-1260</guid>
            <title>Minor question about InnoDB documentation - #1 (3 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1260,1260#msg-1260</link>
            <description><![CDATA[ Embedded InnoDB 1.0 User’s Guide and Reference, p. 26:<br />
<br />
ib_err_t err;<br />
int res = ~0;<br />
ib_tpl_t key = NULL;<br />
<br />
/* Create a tuple for searching an index. */<br />
key_tpl = ib_sec_search_tuple_create(crsr);<br />
<br />
/* Set the value to delete. */<br />
ib_col_set_value(key, 0, &quot;b&quot;, strlen(&quot;b&quot;));<br />
ib_col_set_value(key, 1, &quot;z&quot;, strlen(&quot;z&quot;));<br />
<br />
On line 5 above, shouldn't &quot;key_tpl&quot; be &quot;key&quot;?]]></description>
            <dc:creator>underhill</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Tue, 31 Aug 2010 05:38:39 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1257,1257#msg-1257</guid>
            <title>INNODB embedded with .net and c# (1 reply)</title>
            <link>http://forums.innodb.com/read.php?8,1257,1257#msg-1257</link>
            <description><![CDATA[ Hello,<br />
is it possible to use .net, c# and/ or ADO.NET with INNODB embededded and if so are there samples available ?<br />
Thanks<br />
Uwe]]></description>
            <dc:creator>magixxfactory</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 23 Jul 2010 21:08:45 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1232,1232#msg-1232</guid>
            <title>Embedded InnoDB 1.0.7 (3 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1232,1232#msg-1232</link>
            <description><![CDATA[ I began merging the 1.0.7 changes into Embedded InnoDB 1.0.6, but found there are very few actual changes as it looks like the 1.0.6 tree was fairly close to 1.0.7 release.  As far as new changes go, the 1.0.7 code appears to contain a new work queue (ut0wqueue.[ch]) that doesn't seem to be used.<br />
<br />
The majority of differences are related to the following things:<br />
<br />
<ul>[*] ib_logger vs. puts/printf (I prefer ib_logger) <br /> [*] Copyright Dates (I prefer s/^\(Copyright (c) [0-9]\{4\}\)[ ,\t]*[0-9]\{4\}/\1-2010/g) <br /> [*] static vs. UNIV_STATIC <br /> [*] ib_uint64_t vs. ullint (I prefer ib_uint64_t) <br /> [*] Renaming similar to s/_for_mysql//g or s/_for_mysql/_client/g <br /> [*] Renaming similar to s/mysql/client/g <br /> [*] Renaming similar to s/MYSQL/USER/g <br /> [*] A couple function argument changes <br /> [*] ib_stream_t vs. FILE * (I prefer ib_stream_t)</ul>
<br />
Is there any preferred way of handling some of the above?  Can all the InnoDB/Oracle copyrights just be updated such that the latest one is 2010 rather than a variety of 200X?  For the functions with different arguments, is there any objection to just defining something like EMBEDDED_BUILD or PLUGIN_BUILD and using the preprocessor to handle the differences (which are very few)?<br />
<br />
Example:<br />
<br />
<pre class="bbcode">
int
dtuple_coll_cmp(
/*============*/
    const dtuple_t* tuple1, /*!&lt; in: tuple 1 */
    const dtuple_t* tuple2) /*!&lt; in: tuple 2 */
{
...
        cmp = cmp_dfield_dfield(cmp_ctx, field1, field2);
...</pre>
<br />
becomes<br />
<br />
<pre class="bbcode">
int
dtuple_coll_cmp(
/*============*/
#ifndef PLUGIN_BUILD
    void*           cmp_ctx,/*!&lt; in: client compare context */
#endif /* !PLUGIN_BUILD */
    const dtuple_t* tuple1, /*!&lt; in: tuple 1 */
    const dtuple_t* tuple2) /*!&lt; in: tuple 2 */
{
...
#ifdef PLUGIN_BUILD
        cmp = cmp_dfield_dfield(field1, field2);
#else /* Embedded requires usage of a comparison context */
        cmp = cmp_dfield_dfield(cmp_ctx, field1, field2);
#endif /* PLUGIN_BUILD */
...</pre>
<br />
Thoughts?]]></description>
            <dc:creator>Jonah H. Harris</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Thu, 24 Jun 2010 01:01:21 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1229,1229#msg-1229</guid>
            <title>Embedded InnoDB is awesome! (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1229,1229#msg-1229</link>
            <description><![CDATA[ As Heikki and a few others know, several years ago I had pulled InnoDB out of the MySQL code and created a standalone version of it myself.  Thankfully, it was a fairly easy task given that InnoDB was originally designed to be a standalone database engine based on many of the Gray and Reuter concepts.  Regardless, I'm extremely happy to see InnoDB once again embracing a standalone, API-driven, embedded system approach.  I hope many people play with and adopt Embedded InnoDB.  To that end, I'll also try to help promote it by writing up a blog entry or two on it sometime in the near future.<br />
<br />
In short, given that I've been using quite a few embedded database systems lately (eXtremeDB, Tokyo Cabinet, SQLite, etc.), it's *great* to see InnoDB now available for similar usage without all the MySQL kludge on top of it.<br />
<br />
I just started a pretty cool project with Embedded InnoDB this evening; stay tuned for info about it ;-)<br />
<br />
Keep up the great work!<br />
<br />
-Jonah]]></description>
            <dc:creator>Jonah H. Harris</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Wed, 02 Jun 2010 11:27:27 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1177,1177#msg-1177</guid>
            <title>DB_MISSING_HISTORY from ib_cursor_first (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1177,1177#msg-1177</link>
            <description><![CDATA[ With the following sequence of events (see main in attached source) you end up hitting the assert for DB_MISSING_HISTORY on the ib_cursor_first instead of getting any error back from ib_cursor_attach_trx that the table didn't exist in your snapshot.<br />
<br />
The definition for DB_MISSING_HISTORY in the docs is also a bit misleading in this context. It says:<br />
<br />
Required history data has been deleted, due to lack of space in rollback<br />
segment.<br />
<br />
when it is more along the lines of &quot;the history never existed&quot;.<br />
<br />
Not sure what the best thing to do is here... perhaps just an expansion of the explanation of the error code? Or a different one? It seems like that DB_MISSING_HISTORY could be rather a rollback the transaction and tell the user to try again error while &quot;you can't see that table in your snapshot&quot; is more of a temporary one.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Wed, 07 Apr 2010 04:15:56 +0300</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1164,1164#msg-1164</guid>
            <title>cluster search tuple column numbers (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1164,1164#msg-1164</link>
            <description><![CDATA[ I was surprised to learn today that the clustered index search tuples column numbers are the column number of the clustered index, not the column number of the table... while not really a problem, it was a bit of a surprise. Perhaps this could be made a bit more clear in the docs.<br />
<br />
cheers,<br />
stewart.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Thu, 25 Mar 2010 09:48:26 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1160,1160#msg-1160</guid>
            <title>using DB_ROW_ID for handler::position() functionality (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1160,1160#msg-1160</link>
            <description><![CDATA[ It looks as though ib_col_set_ doesn't let you set a value for a system column (such as DB_ROW_ID) to search on. (having said that... not entirely sure how to get the value either).<br />
<br />
I was hoping to use this through the embedded innodb api the same way as the innobase ha_innodb.cc does for ::position() and ::rnd_pos() - for getting and setting a cursor on tables without a explicit primary key (i.e. a primary key on rowid).]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Mon, 22 Mar 2010 16:53:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1137,1137#msg-1137</guid>
            <title>XA and embedded innodb? (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1137,1137#msg-1137</link>
            <description><![CDATA[ It looks like it's possible to get a transaction state that is IB_TRX_PREPARED from ib_trx_state() but I don't see any way to start a XA transaction or any function like ib_trx_prepare(). Is this planned to exist?]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Wed, 10 Mar 2010 04:06:06 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1136,1136#msg-1136</guid>
            <title>bug: ib_cursor_truncate commits transaction but doesn't release schema lock (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1136,1136#msg-1136</link>
            <description><![CDATA[ I've found that ib_cursor_truncate currently commits the transaction on success.<br />
<br />
from api0api.c:<br />
		/* This function currently commits the transaction<br />
		on success. */<br />
		err = ddl_truncate_table(table, trx);<br />
<br />
<br />
which isn't documented (except in the source :)<br />
<br />
BUT, it doesn't release the schema lock... so unlike other DDL ops on success you have to release the schema lock yourself.<br />
<br />
it'd be great if ib_cursor_truncate() was a bit more consistent with the rest of the DDL api and the user called commit (which released the schema lock).]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Wed, 10 Mar 2010 04:00:27 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1135,1135#msg-1135</guid>
            <title>Docs bug: ib_cusor_truncate needs schema lock (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1135,1135#msg-1135</link>
            <description><![CDATA[ I've found that ib_cursor_truncate() bombs out if you don't have the exclusive schema lock. This doesn't seem to be explicitly documented (but does seem a bit obvious after a bit of thought).<br />
<br />
I also assume that ib_cursor_truncate() is the same as truncate table in the innodb plugin, in that it's not transactional so it would be suitable for TRUNCATE TABLE and not DELETE FROM t;]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Wed, 10 Mar 2010 03:52:05 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1127,1127#msg-1127</guid>
            <title>endian safety of innodb tablespaces (1 reply)</title>
            <link>http://forums.innodb.com/read.php?8,1127,1127#msg-1127</link>
            <description><![CDATA[ Assuming I take care of the safety of what i'm storing with ib_col_set_value.... are the tablespace files (ibd) themselves endian safe? Should I expect to be able to take one created on little endian and read it on big endian?]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 26 Feb 2010 07:56:50 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1126,1126#msg-1126</guid>
            <title>Embedded InnoDB 1.0.6.6750 released (no replies)</title>
            <link>http://forums.innodb.com/read.php?8,1126,1126#msg-1126</link>
            <description><![CDATA[ The next version of Embedded InnoDB 1.0.6.6750 has just been released!<br />
<br />
This long-awaited version is based on the <a href="http://www.innodb.com/wp/2009/11/27/innodb-plugin-1-0-6-has-been-released/" rel="nofollow" >InnoDB Plugin 1.0.6</a>, see <a href="http://www.innodb.com/wp/2010/02/25/embedded-innodb-1-0-6-6750-released/" rel="nofollow" >the full announcement on the InnoDB web site</a>.<br />
<br />
<a href="http://www.innodb.com/products/embedded-innodb/download/v1066750/" rel="nofollow" >Download Embedded InnoDB 1.0.6.6750</a>.<br />
<br />
Thank you, and enjoy!]]></description>
            <dc:creator>Vasil Dimov</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Thu, 25 Feb 2010 17:03:28 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1120,1120#msg-1120</guid>
            <title>Finding the cause of DB_DUPLICATE_KEY (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1120,1120#msg-1120</link>
            <description><![CDATA[ i have code for row insertion that looks a bit like this:<br />
<br />
  err= ib_cursor_insert_row(cursor, tuple);<br />
<br />
  if (err == DB_DUPLICATE_KEY)<br />
    ret= HA_ERR_FOUND_DUPP_KEY;<br />
<br />
<br />
However I have not found any immediately obvious way to then find out from embedded innodb which key was the cause of the duplicate key error.<br />
<br />
it'd be great to get back key id and key name.<br />
<br />
cheers,<br />
stewart]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Thu, 25 Feb 2010 14:27:07 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1102,1102#msg-1102</guid>
            <title>ib_cursor_set_match_mode(cursor, IB_EXACT_MATCH) not working? (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1102,1102#msg-1102</link>
            <description><![CDATA[ To do an exact lookup on clustered index, i tried:<br />
<br />
<br />
  ib_cursor_set_match_mode(cursor, IB_EXACT_MATCH);<br />
<br />
  err= ib_cursor_moveto(cursor, search_tuple, IB_CUR_GE, &amp;res);<br />
<br />
but this always came back with DB_RECORD_NOT_FOUND.<br />
<br />
if i remove the set_match_mode and check 'res==0' then it works.<br />
<br />
am I missing something?]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Sat, 13 Feb 2010 09:05:59 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1099,1099#msg-1099</guid>
            <title>docs bug: ib_create_database() returns ib_bool_t not ib_err_t (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1099,1099#msg-1099</link>
            <description><![CDATA[ although i think ib_err_t could be ideal. It'd be great to get the real errno back.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Sat, 13 Feb 2010 04:41:17 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1090,1090#msg-1090</guid>
            <title>Cant do clustered index search on SYS_TABLES? (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1090,1090#msg-1090</link>
            <description><![CDATA[ I was trying to do a prefix search on SYS_TABLES.<br />
<br />
That is, looking for table names with &quot;test/&quot; as a prefix.<br />
<br />
However, when I set up the search tuple, ib_col_set_value() dies in an assert in api0api.c:4058<br />
<br />
which is in the switch for data type (the assert is in the default: bit of the switch)<br />
<br />
<br />
Interestingly, tests/ib_dict prints this:<br />
CREATE TABLE SYS_TABLES(<br />
	NAME	UNKNOWN,<br />
	ID	UNKNOWN,<br />
	N_COLS	INT,<br />
	TYPE	INT,<br />
	MIX_ID	UNKNOWN,<br />
	MIX_LEN	INT,<br />
	CLUSTER_NAME	UNKNOWN,<br />
	SPACE	INT,<br />
CREATE UNIQUE INDEX CLUST_IND ON SYS_TABLES(NAME);<br />
CREATE  INDEX ID_IND ON SYS_TABLES(ID);<br />
<br />
<br />
which seems to indicate that something special is going on.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 12 Feb 2010 08:26:48 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1085,1085#msg-1085</guid>
            <title>docs bug in ib_schema_tables_iterator (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1085,1085#msg-1085</link>
            <description><![CDATA[ on page 50 of the docs:<br />
<br />
6.7.6.3. ib_schema_tables_iterate<br />
Synopsis<br />
        ib_err_t ib_table_schema_add_index(<br />
                 ib_trx_t        ib_trx,<br />
                 ib_schema_visitor_table_all_t visitor,<br />
                 void*           arg);<br />
<br />
<br />
<br />
as you can see, the function names don't match :)]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 12 Feb 2010 08:05:05 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1083,1083#msg-1083</guid>
            <title>Suggestion: warn_unused_result on ib_err_t returning functions (2 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1083,1083#msg-1083</link>
            <description><![CDATA[ It'd be neat if we had warn_unused_result on all functions returning ib_err_t. i.e. warn if a programs calls the function but doesn't check the return. recent glibc does this for calls like write(2) and it does help find bugs.<br />
<br />
I'd happily provide a patch... but at least innodb.h says it's a generated file. Where is it generated from?<br />
<br />
from gcc manual:<br />
<br />
     The `warn_unused_result' attribute causes a warning to be emitted<br />
     if a caller of the function with this attribute does not use its<br />
     return value.  This is useful for functions where not checking the<br />
     result is either a security problem or always a bug, such as<br />
     `realloc'.<br />
<br />
          int fn () __attribute__ ((warn_unused_result));<br />
          int foo ()<br />
          {<br />
            if (fn () &lt; 0) return -1;<br />
            fn ();<br />
            return 0;<br />
          }<br />
<br />
     results in warning on line 5.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 12 Feb 2010 08:10:35 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1075,1075#msg-1075</guid>
            <title>ib_table_drop takes schema lock (7 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1075,1075#msg-1075</link>
            <description><![CDATA[ I was doing something like this:<br />
<br />
  innodb_schema_transaction= ib_trx_begin(IB_TRX_REPEATABLE_READ);<br />
<br />
  innodb_err= ib_schema_lock_exclusive(innodb_schema_transaction);<br />
<br />
  if (innodb_err == DB_SUCCESS)<br />
    innodb_err= ib_table_drop(table_name.c_str());<br />
<br />
and I was getting a deadlock in ib_table_drop() with the following backtrace:<br />
#0  ib_schema_lock_exclusive (ib_trx=0xfbf580) at api/api0api.c:5293<br />
#1  0x00007ffff48981ef in ib_table_drop (name=0xfa16f8 &quot;./test/t1&quot;)<br />
    at api/api0api.c:2611<br />
#2  0x00007ffff491b95e in EmbeddedInnoDBEngine::doDropTable (this=0xf92980, <br />
    session=..., table_name=...)<br />
    at plugin/embedded_innodb/embedded_innodb_engine.cc:265<br />
<br />
<br />
This seems to be inconsistent with other DDL operations (or at least undocumented behavior).]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 12 Feb 2010 08:13:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1074,1074#msg-1074</guid>
            <title>Conflicting information on ib_schema_unlock() (1 reply)</title>
            <link>http://forums.innodb.com/read.php?8,1074,1074#msg-1074</link>
            <description><![CDATA[ page 1 of the docs say:<br />
<br />
&quot;The data dictionary must be locked in exclusive mode when creating tables using the API func-<br />
tion ib_schema_lock_exclusive(). The schema latches must be release after committing the DDL transaction using<br />
ib_schema_unlock().&quot;<br />
<br />
While the reference at the back says:<br />
&quot;Currently, when a transaction is rolled back by InnoDB, it doesn’t release the data dictionary lock. This must be done explicitly by the application.&quot;<br />
<br />
<br />
and none of the examples ever call ib_schema_unlock().<br />
<br />
Do we only need to unlock on rollback of DDL txn? Do we need to unlock after commit of DDL txn?<br />
<br />
and should it be before or after the rollback?<br />
<br />
I'd prefer the API to be consistent in either always requiring an explicit unlock or never requiring one.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Thu, 11 Feb 2010 09:08:59 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1072,1072#msg-1072</guid>
            <title>ib_schema_visitor_t NULL values (1 reply)</title>
            <link>http://forums.innodb.com/read.php?8,1072,1072#msg-1072</link>
            <description><![CDATA[ It could be useful to be able to have some functions be NULL in ib_schema_visitor_t when iterating over datadict. e.g. you just want table names, just want indexes or whatever.<br />
<br />
currently you end up SIGSEGV with null dereferences, which isn't ideal :)<br />
<br />
(or docs to be fixed up to insist that all must be non-null)]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Thu, 11 Feb 2010 03:14:06 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1059,1059#msg-1059</guid>
            <title>ib_table_schema_set_temp_dir and temp tables? (4 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1059,1059#msg-1059</link>
            <description><![CDATA[ Does this mean the table won't be logged?<br />
<br />
An InnoDB temporary table that isn't logged and is gone on startup could be quite useful during query execution...]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Tue, 09 Feb 2010 03:39:20 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1058,1058#msg-1058</guid>
            <title>Iterating through config and status variables (1 reply)</title>
            <link>http://forums.innodb.com/read.php?8,1058,1058#msg-1058</link>
            <description><![CDATA[ This is a feature request... but it'd be neat...<br />
<br />
In order to produce a &quot;show innodb status&quot; type output (but better, and in tables), it'd be great if there was a way to get a list of all the configuration and status variables (and their type) from embedded innodb.<br />
<br />
This way, if the library API doesn't change but a status or config variable is added, I don't have to modify my code to display it.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Tue, 09 Feb 2010 03:02:54 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1057,1057#msg-1057</guid>
            <title>Associating a blob with a data ditionary object (4 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1057,1057#msg-1057</link>
            <description><![CDATA[ Would it be possible to (at least in future) attach a BLOB to tables in the data dictionary?<br />
<br />
Or... is it possible to do transactions on other tables as part of a DDL transaction?<br />
<br />
I'm wanting to store the table definition protobuf message (equiv of FRM) inside InnoDB. This closes a long standing crash safety bug.]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Tue, 09 Feb 2010 03:43:59 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1056,1056#msg-1056</guid>
            <title>ib_schema_lock_shared ? (6 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1056,1056#msg-1056</link>
            <description><![CDATA[ What does this do? In what contexts could I use it? I gather DDL under it is not a good idea?]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Fri, 12 Feb 2010 07:56:22 +0200</pubDate>
        </item>
        <item>
            <guid>http://forums.innodb.com/read.php?8,1047,1047#msg-1047</guid>
            <title>[BUG] Embedded InnoDB and innodb plugin cannot be simultaneously loaded (3 replies)</title>
            <link>http://forums.innodb.com/read.php?8,1047,1047#msg-1047</link>
            <description><![CDATA[ In trying to have a plugin which uses Embedded InnoDB in a server that also has the InnoDB plugin loaded, on ib_init() for embedded innodb, I get SIGSEGV with the following backtrace:<br />
<br />
#1  0x00007fffe4ecf95c in ut_print_timestamp (ib_stream=0x0) at ut/ut0ut.c:239<br />
#2  0x00007fffe4ece58a in ut_dbg_assertion_failed (<br />
    expr=0x7fffe4edea10 &quot;!srv_was_started&quot;, <br />
    file=0x7fffe4edfaa6 &quot;%02d%02d%02d %2d:%02d:%02d&quot;, line=10)<br />
    at ut/ut0dbg.c:59<br />
#3  0x00007fffe4ecf310 in ut_mem_init () at ut/ut0mem.c:93<br />
#4  0x00007fffe4ed1469 in ib_init () at api/api0api.c:727<br />
#5  0x00007fffe4f545b7 in embedded_innodb_init (registry=...)<br />
    at plugin/embedded_innodb/embedded_innodb_engine.cc:241<br />
#6  0x0000000000512f2c in plugin_initialize (registry=..., module=0x1394910)<br />
    at drizzled/plugin/loader.cc:345<br />
#7  0x0000000000513483 in plugin_init (registry=..., argc=0xb545d0, <br />
    argv=0xb8b310, skip_init=false) at drizzled/plugin/loader.cc:478<br />
#8  0x0000000000411878 in init_server_components (plugins=...)<br />
    at drizzled/drizzled.cc:1278<br />
#9  0x00000000004137a5 in main (argc=22, argv=0x7fffffffd418)<br />
    at drizzled/drizzled.cc:2360<br />
<br />
<br />
I assume this is because having the two loaded at once won't agree at all (about to check with disabling the default innodb plugin)]]></description>
            <dc:creator>stewart</dc:creator>
            <category>Embedded InnoDB</category>
            <pubDate>Tue, 09 Feb 2010 02:12:16 +0200</pubDate>
        </item>
    </channel>
</rss>
