<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>web2py.gluon.dal.GoogleDatastoreAdapter</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="web2py.gluon-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://www.web2py.com">web2py Web Framework</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        Package&nbsp;web2py ::
        <a href="web2py.gluon-module.html">Package&nbsp;gluon</a> ::
        <a href="web2py.gluon.dal-module.html">Module&nbsp;dal</a> ::
        Class&nbsp;GoogleDatastoreAdapter
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class GoogleDatastoreAdapter</h1><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter">source&nbsp;code</a></span><br /><br />
<pre class="base-tree">
    object --+            
             |            
<a href="web2py.gluon.dal.ConnectionPool-class.html">ConnectionPool</a> --+        
                 |        
       <a href="web2py.gluon.dal.BaseAdapter-class.html">BaseAdapter</a> --+    
                     |    
          <a href="web2py.gluon.dal.NoSQLAdapter-class.html">NoSQLAdapter</a> --+
                         |
                        <strong class="uidshort">GoogleDatastoreAdapter</strong>
</pre>

<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#file_exists" class="summary-sig-name">file_exists</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">filename</span>)</span><br />
      to be used ONLY for files that on GAE may not be on filesystem</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.file_exists">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#file_open" class="summary-sig-name">file_open</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">filename</span>,
        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">rb</code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">lock</span>=<span class="summary-sig-default">True</span>)</span><br />
      to be used ONLY for files that on GAE may not be on filesystem</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.file_open">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#file_close" class="summary-sig-name">file_close</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">fileobj</span>,
        <span class="summary-sig-arg">unlock</span>=<span class="summary-sig-default">True</span>)</span><br />
      to be used ONLY for files that on GAE may not be on filesystem</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.file_close">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">db</span>,
        <span class="summary-sig-arg">uri</span>,
        <span class="summary-sig-arg">pool_size</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">folder</span>=<span class="summary-sig-default">1</span>,
        <span class="summary-sig-arg">db_codec</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">UTF-8</code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">credential_decoder</span>=<span class="summary-sig-default">&lt;function &lt;lambda&gt; at 0xd71398&gt;</span>,
        <span class="summary-sig-arg">driver_args</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
        <span class="summary-sig-arg">adapter_args</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for 
      signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#create_table" class="summary-sig-name">create_table</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">table</span>,
        <span class="summary-sig-arg">migrate</span>=<span class="summary-sig-default">True</span>,
        <span class="summary-sig-arg">fake_migrate</span>=<span class="summary-sig-default">True</span>,
        <span class="summary-sig-arg">polymodel</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.create_table">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#expand" class="summary-sig-name">expand</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">expression</span>,
        <span class="summary-sig-arg">field_type</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.expand">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#AND" class="summary-sig-name">AND</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.AND">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#EQ" class="summary-sig-name">EQ</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.EQ">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#NE" class="summary-sig-name">NE</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.NE">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#LT" class="summary-sig-name">LT</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.LT">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#LE" class="summary-sig-name">LE</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.LE">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#GT" class="summary-sig-name">GT</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.GT">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#GE" class="summary-sig-name">GE</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.GE">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#INVERT" class="summary-sig-name">INVERT</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.INVERT">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#COMMA" class="summary-sig-name">COMMA</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.COMMA">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#BELONGS" class="summary-sig-name">BELONGS</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.BELONGS">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#CONTAINS" class="summary-sig-name">CONTAINS</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>,
        <span class="summary-sig-arg">second</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.CONTAINS">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#NOT" class="summary-sig-name">NOT</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">first</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.NOT">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#truncate" class="summary-sig-name">truncate</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">table</span>,
        <span class="summary-sig-arg">mode</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.truncate">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="select_raw"></a><span class="summary-sig-name">select_raw</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">query</span>,
        <span class="summary-sig-arg">fields</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
        <span class="summary-sig-arg">attributes</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.select_raw">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#select" class="summary-sig-name">select</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">query</span>,
        <span class="summary-sig-arg">fields</span>,
        <span class="summary-sig-arg">attributes</span>)</span><br />
      Always returns a Rows object, even if it may be empty</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.select">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#count" class="summary-sig-name">count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">query</span>,
        <span class="summary-sig-arg">distinct</span>=<span class="summary-sig-default">1</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#delete" class="summary-sig-name">delete</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">tablename</span>,
        <span class="summary-sig-arg">query</span>)</span><br />
      This function was changed on 2010-05-04 because according to 
      http://code.google.com/p/googleappengine/issues/detail?id=3119 GAE no
      longer support deleting more than 1000 records.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.delete">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">tablename</span>,
        <span class="summary-sig-arg">query</span>,
        <span class="summary-sig-arg">update_fields</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.update">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#insert" class="summary-sig-name">insert</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">table</span>,
        <span class="summary-sig-arg">fields</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.insert">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="web2py.gluon.dal.GoogleDatastoreAdapter-class.html#bulk_insert" class="summary-sig-name">bulk_insert</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">table</span>,
        <span class="summary-sig-arg">items</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.bulk_insert">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html">NoSQLAdapter</a></code></b>:
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#ADD">ADD</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#AGGREGATE">AGGREGATE</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#AS">AS</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#DIV">DIV</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#ENDSWITH">ENDSWITH</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#EXTRACT">EXTRACT</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#LEFT_JOIN">LEFT_JOIN</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#LIKE">LIKE</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#LOWER">LOWER</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#MUL">MUL</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#ON">ON</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#OR">OR</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#PRIMARY_KEY">PRIMARY_KEY</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#RANDOM">RANDOM</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#STARTSWITH">STARTSWITH</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#SUB">SUB</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#SUBSTRING">SUBSTRING</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#UPPER">UPPER</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#alias">alias</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#close">close</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#commit">commit</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#commit_prepared">commit_prepared</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#concat_add">concat_add</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#constraint_name">constraint_name</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#create_sequence_and_triggers">create_sequence_and_triggers</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#distributed_transaction_begin">distributed_transaction_begin</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#drop">drop</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#execute">execute</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#integrity_error_class">integrity_error_class</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#lastrowid">lastrowid</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#log_execute">log_execute</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#migrate_table">migrate_table</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#prepare">prepare</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#represent">represent</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#represent_exceptions">represent_exceptions</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#rollback">rollback</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#rollback_prepared">rollback_prepared</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#rowslice">rowslice</a></code>
      </p>
    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html">NoSQLAdapter</a></code></b> (private):
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#_count">_count</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#_delete">_delete</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#_insert">_insert</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#_select">_select</a></code>,
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#_update">_update</a></code>
      </p></div>
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.BaseAdapter-class.html">BaseAdapter</a></code></b>:
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#ALLOW_NULL">ALLOW_NULL</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#COALESCE_ZERO">COALESCE_ZERO</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#JOIN">JOIN</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#MOD">MOD</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#NOT_NULL">NOT_NULL</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#file_delete">file_delete</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#filter_tenant">filter_tenant</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#get_table">get_table</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#integrity_error">integrity_error</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#parse">parse</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#select_limitby">select_limitby</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#sequence_name">sequence_name</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#tables">tables</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#trigger_name">trigger_name</a></code>
      </p>
    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.BaseAdapter-class.html">BaseAdapter</a></code></b> (private):
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#_drop">_drop</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#_truncate">_truncate</a></code>
      </p></div>
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.ConnectionPool-class.html">ConnectionPool</a></code></b>:
      <code><a href="web2py.gluon.dal.ConnectionPool-class.html#find_or_make_work_folder">find_or_make_work_folder</a></code>,
      <code><a href="web2py.gluon.dal.ConnectionPool-class.html#pool_connection">pool_connection</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__str__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== STATIC METHODS ==================== -->
<a name="section-StaticMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Static Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-StaticMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html">NoSQLAdapter</a></code></b>:
      <code><a href="web2py.gluon.dal.NoSQLAdapter-class.html#to_unicode">to_unicode</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.ConnectionPool-class.html">ConnectionPool</a></code></b>:
      <code><a href="web2py.gluon.dal.ConnectionPool-class.html#close_all_instances">close_all_instances</a></code>,
      <code><a href="web2py.gluon.dal.ConnectionPool-class.html#set_folder">set_folder</a></code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Class Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-ClassVariables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="uploads_in_blob"></a><span class="summary-name">uploads_in_blob</span> = <code title="True">True</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="types"></a><span class="summary-name">types</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.BaseAdapter-class.html">BaseAdapter</a></code></b>:
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#commit_on_alter_table">commit_on_alter_table</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#driver">driver</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#maxcharlength">maxcharlength</a></code>,
      <code><a href="web2py.gluon.dal.BaseAdapter-class.html#support_distributed_transaction">support_distributed_transaction</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="web2py.gluon.dal.ConnectionPool-class.html">ConnectionPool</a></code></b>:
      <code><a href="web2py.gluon.dal.ConnectionPool-class.html#pools">pools</a></code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="file_exists"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">file_exists</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">filename</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.file_exists">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  to be used ONLY for files that on GAE may not be on filesystem
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#file_exists">BaseAdapter.file_exists</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="file_open"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">file_open</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">filename</span>,
        <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">rb</code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">lock</span>=<span class="sig-default">True</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.file_open">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  to be used ONLY for files that on GAE may not be on filesystem
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#file_open">BaseAdapter.file_open</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="file_close"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">file_close</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">fileobj</span>,
        <span class="sig-arg">unlock</span>=<span class="sig-default">True</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.file_close">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  to be used ONLY for files that on GAE may not be on filesystem
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#file_close">BaseAdapter.file_close</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">db</span>,
        <span class="sig-arg">uri</span>,
        <span class="sig-arg">pool_size</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">folder</span>=<span class="sig-default">1</span>,
        <span class="sig-arg">db_codec</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">UTF-8</code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">credential_decoder</span>=<span class="sig-default">&lt;function &lt;lambda&gt; at 0xd71398&gt;</span>,
        <span class="sig-arg">driver_args</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>,
        <span class="sig-arg">adapter_args</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#__init__">BaseAdapter.__init__</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="create_table"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_table</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">table</span>,
        <span class="sig-arg">migrate</span>=<span class="sig-default">True</span>,
        <span class="sig-arg">fake_migrate</span>=<span class="sig-default">True</span>,
        <span class="sig-arg">polymodel</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.create_table">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#create_table">BaseAdapter.create_table</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="expand"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">expand</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">expression</span>,
        <span class="sig-arg">field_type</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.expand">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#expand">BaseAdapter.expand</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="AND"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">AND</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.AND">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.NoSQLAdapter-class.html#AND">NoSQLAdapter.AND</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="EQ"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">EQ</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.EQ">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#EQ">BaseAdapter.EQ</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="NE"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">NE</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.NE">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#NE">BaseAdapter.NE</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="LT"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">LT</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.LT">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#LT">BaseAdapter.LT</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="LE"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">LE</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.LE">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#LE">BaseAdapter.LE</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="GT"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">GT</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.GT">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#GT">BaseAdapter.GT</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="GE"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">GE</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.GE">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#GE">BaseAdapter.GE</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="INVERT"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">INVERT</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.INVERT">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#INVERT">BaseAdapter.INVERT</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="COMMA"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">COMMA</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.COMMA">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#COMMA">BaseAdapter.COMMA</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="BELONGS"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">BELONGS</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.BELONGS">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#BELONGS">BaseAdapter.BELONGS</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="CONTAINS"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">CONTAINS</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>,
        <span class="sig-arg">second</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.CONTAINS">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#CONTAINS">BaseAdapter.CONTAINS</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="NOT"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">NOT</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">first</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.NOT">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#NOT">BaseAdapter.NOT</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="truncate"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">truncate</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">table</span>,
        <span class="sig-arg">mode</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.truncate">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#truncate">BaseAdapter.truncate</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="select"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">select</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">query</span>,
        <span class="sig-arg">fields</span>,
        <span class="sig-arg">attributes</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.select">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  Always returns a Rows object, even if it may be empty
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#select">BaseAdapter.select</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="count"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">count</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">query</span>,
        <span class="sig-arg">distinct</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.count">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#count">BaseAdapter.count</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="delete"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">delete</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">tablename</span>,
        <span class="sig-arg">query</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.delete">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  This function was changed on 2010-05-04 because according to 
  http://code.google.com/p/googleappengine/issues/detail?id=3119 GAE no 
  longer support deleting more than 1000 records.
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#delete">BaseAdapter.delete</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="update"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">tablename</span>,
        <span class="sig-arg">query</span>,
        <span class="sig-arg">update_fields</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.update">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#update">BaseAdapter.update</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="insert"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">insert</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">table</span>,
        <span class="sig-arg">fields</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.insert">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#insert">BaseAdapter.insert</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="bulk_insert"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">bulk_insert</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">table</span>,
        <span class="sig-arg">items</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="web2py.gluon.dal-pysrc.html#GoogleDatastoreAdapter.bulk_insert">source&nbsp;code</a></span>&nbsp;
    </td>
  </table>
  
  
  <dl class="fields">
    <dt>Overrides:
      <a href="web2py.gluon.dal.BaseAdapter-class.html#bulk_insert">BaseAdapter.bulk_insert</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="web2py.gluon-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://www.web2py.com">web2py Web Framework</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0beta1 on Thu Aug  4 00:47:00 2011
    </td>
    <td align="right" class="footer">
      <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie()
  // -->
</script>
  
</body>
</html>
