<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>38003</bug_id>
          
          <creation_ts>2010-04-22 13:25:28 -0700</creation_ts>
          <short_desc>We should add FTS3 support to WebKit</short_desc>
          <delta_ts>2010-05-25 15:42:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dumitru Daniliuc">dumi</reporter>
          <assigned_to name="Dumitru Daniliuc">dumi</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>beidson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>michaeln</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>216050</commentid>
    <comment_count>0</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-04-22 13:25:28 -0700</bug_when>
    <thetext>Gears supported FTS2, so I think we should add FTS3 support to WebKit, to make it easier for web developers who used Gears port their apps to WebSQLDatabases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216312</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-23 00:35:10 -0700</bug_when>
    <thetext>Can you comment on why FTS3 should be added instead of FTS2?  Are there compatibility concerns?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216503</commentid>
    <comment_count>2</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-04-23 12:11:29 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Can you comment on why FTS3 should be added instead of FTS2?  Are there
&gt; compatibility concerns?

FTS2 has a design problem: calling VACUUM on FTS2 databases could corrupt them. According to Scott, FTS3 is pretty much FTS2 with this problem fixed.

It is unclear if FTS2 databases are compatible with FTS3. We believe they should be, but I haven&apos;t tested this. However, WebKit doesn&apos;t have FTS2 support, and Chromium&apos;s FTS2 support is incomplete at the moment because we don&apos;t allow the MATCH operator (bug 37049). So I think it should be OK to treat Chromium&apos;s FTS2 support as experimental, and say that full-text search will be officially supported starting with FTS3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216524</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-23 13:03:41 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Can you comment on why FTS3 should be added instead of FTS2?  Are there
&gt; compatibility concerns?

FTS3 is being actively supported by SQLite, FTS2 is not.

FTS2 and has a known bug (around vacuum) that is fixed in FTS3. As I understand it, FTS3 was the fix for that known bug.

There is a data format change, FTS2 code can&apos;t read FTS3 data and vice versa.

(Just passing along what I&apos;ve learned from shess)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216692</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-23 21:52:21 -0700</bug_when>
    <thetext>OK, I agree that it would be valuable for FTS3 to be enabled across all ports of WebKit.  /cc @mjs for his opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216705</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-04-24 00:03:08 -0700</bug_when>
    <thetext>I&apos;ve been discussing this in emails with some of our SQLite gurus at Apple.  I think they think this is fine, as long as we still restrict some things with the authorizer.  fts3_tokenizer has come up by name, there may be others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216707</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-04-24 00:03:56 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;ve been discussing this in emails with some of our SQLite gurus at Apple.  I
&gt; think they think this is fine, as long as we still restrict some things with
&gt; the authorizer.  fts3_tokenizer has come up by name, there may be others.

Sorry - also meant to mention that I&apos;ll have all the info they mean to give me by Monday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216714</commentid>
    <comment_count>7</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-04-24 03:21:18 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; I&apos;ve been discussing this in emails with some of our SQLite gurus at Apple.  I
&gt; &gt; think they think this is fine, as long as we still restrict some things with
&gt; &gt; the authorizer.  fts3_tokenizer has come up by name, there may be others.
&gt; 
&gt; Sorry - also meant to mention that I&apos;ll have all the info they mean to give me
&gt; by Monday.

Great! fts2_tokenizer() is currently disabled in DatabaseAuthorizer, because our security experts didn&apos;t like it too, and I&apos;m pretty sure they agree that fts3_tokenizer() should be disabled too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220865</commentid>
    <comment_count>8</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-05-04 16:33:00 -0700</bug_when>
    <thetext>Brady, any updates?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226042</commentid>
    <comment_count>9</comment_count>
      <attachid>56118</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-05-14 16:08:52 -0700</bug_when>
    <thetext>Created attachment 56118
enable FTS3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230416</commentid>
    <comment_count>10</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-05-25 13:33:20 -0700</bug_when>
    <thetext>Ping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230428</commentid>
    <comment_count>11</comment_count>
      <attachid>56118</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-05-25 13:51:30 -0700</bug_when>
    <thetext>Comment on attachment 56118
enable FTS3

It really sucks that we&apos;re fragmenting capabilities like this, but I guess we already did it with fts2.  

That said, no one here sees an inherent problem with fts3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230481</commentid>
    <comment_count>12</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-05-25 15:06:00 -0700</bug_when>
    <thetext>Landed as r60180.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230506</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-25 15:42:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60188 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56118</attachid>
            <date>2010-05-14 16:08:52 -0700</date>
            <delta_ts>2010-05-25 13:51:29 -0700</delta_ts>
            <desc>enable FTS3</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1493</size>
            <attacher name="Dumitru Daniliuc">dumi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTQ5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDUtMTQgIER1bWl0cnUgRGFuaWxpdWMgIDxkdW1pQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbGxvdyBGVFMzIGZ1bmN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM4MDAzCisKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQXV0aG9y
aXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUF1dGhvcml6ZXI6OmFkZFdoaXRl
bGlzdGVkRnVuY3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQXV0aG9yaXplcjo6
Y3JlYXRlVlRhYmxlKToKKwogMjAxMC0wNS0xNCAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcAkocmV2aXNpb24gNTk0OTkpCisrKyBXZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDYg
KzEwMiw3IEBAIHZvaWQgRGF0YWJhc2VBdXRob3JpemVyOjphZGRXaGl0ZWxpc3RlZEYKICAgICBt
X3doaXRlbGlzdGVkRnVuY3Rpb25zLmFkZCgidG90YWwiKTsKIAogICAgIC8vIFNRTGl0ZSBGVFMg
ZnVuY3Rpb25zCisgICAgbV93aGl0ZWxpc3RlZEZ1bmN0aW9ucy5hZGQoIm1hdGNoIik7CiAgICAg
bV93aGl0ZWxpc3RlZEZ1bmN0aW9ucy5hZGQoInNuaXBwZXQiKTsKICAgICBtX3doaXRlbGlzdGVk
RnVuY3Rpb25zLmFkZCgib2Zmc2V0cyIpOwogICAgIG1fd2hpdGVsaXN0ZWRGdW5jdGlvbnMuYWRk
KCJvcHRpbWl6ZSIpOwpAQCAtMjY4LDggKzI2OSw4IEBAIGludCBEYXRhYmFzZUF1dGhvcml6ZXI6
OmNyZWF0ZVZUYWJsZShjb24KICAgICBpZiAobV9yZWFkT25seSAmJiBtX3NlY3VyaXR5RW5hYmxl
ZCkKICAgICAgICAgcmV0dXJuIFNRTEF1dGhEZW55OwogCi0gICAgLy8gZnRzMiBpcyB1c2VkIGlu
IENocm9taXVtCi0gICAgaWYgKG1vZHVsZU5hbWUgIT0gImZ0czIiKQorICAgIC8vIEFsbG93IG9u
bHkgdGhlIEZUUzMgZXh0ZW5zaW9uCisgICAgaWYgKG1vZHVsZU5hbWUgIT0gImZ0czMiKQogICAg
ICAgICByZXR1cm4gU1FMQXV0aERlbnk7CiAKICAgICBtX2xhc3RBY3Rpb25DaGFuZ2VkRGF0YWJh
c2UgPSB0cnVlOwo=
</data>
<flag name="review"
          id="40469"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="40470"
          type_id="3"
          status="-"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>