But it can be used relationally using db.referenceproperty().
On Dec 30, 5:22 am, leone <[email protected]> wrote:
> It is not useful because bigtable is not a relational database, goal
> of SQL sintax.
>
> On Dec 29, 8:12 pm, adelevie <[email protected]> wrote:
>
> > I didn't make that bigtable.appspot site, I just found it ;)
> > I also found thishttp://code.google.com/p/app3/.
>
> > I can't quite figure out what you're saying (it may be a language
> > barrier). Are you saying that making a wrapper for GQL is not
> > feasible?
>
> > On Dec 29, 5:21 am, leone <[email protected]> wrote:
>
> > > Well done!!
> > > In order to 'reduce' BigTable to RDBMS
> > > is quite impossible (and not usefull too), I think.
> > > The GqlQuery (... it is far less than a SQL dialect...) exposed by
> > > GAEDatastore API is a facility, not a relational syntax.
>
> > > On Dec 28, 8:31 pm, adelevie <[email protected]> wrote:
>
> > > >http://bigtable.appspot.com/
> > > > Maybe this will help?
>
> > > > -Alan
>
> > > > On Dec 28, 1:43 pm, adelevie <[email protected]> wrote:
>
> > > > > I only have a limited understanding of what a restful interface is. Is
> > > > > it an interface where all the data is inputted in the url and then
> > > > > outputted as xml or json?
>
> > > > > I was thinking something more a ong the lines of building a class like
> > > > > this:
> > > > > class MySQLDB(DB):
> > > > > def __init__(self, **keywords):
> > > > > import MySQLdb as db
> > > > > if 'pw' in keywords:
> > > > > keywords['passwd'] = keywords['pw']
> > > > > del keywords['pw']
>
> > > > > if 'charset' not in keywords:
> > > > > keywords['charset'] = 'utf8'
> > > > > elif keywords['charset'] is None:
> > > > > del keywords['charset']
>
> > > > > self.paramstyle = db.paramstyle = 'pyformat' # it's both, like
> > > > > psycopg
> > > > > self.dbname = "mysql"
> > > > > self.supports_multiple_insert = True
> > > > > DB.__init__(self, db, keywords)
>
> > > > > def _process_insert_query(self, query, tablename, seqname):
> > > > > return query, SQLQuery('SELECT last_insert_id();')
>
> > > > > class SqliteDB(DB):
> > > > > def __init__(self, **keywords):
> > > > > try:
> > > > > import sqlite3 as db
> > > > > db.paramstyle = 'qmark'
> > > > > except ImportError:
> > > > > try:
> > > > > from pysqlite2 import dbapi2 as db
> > > > > db.paramstyle = 'qmark'
> > > > > except ImportError:
> > > > > import sqlite as db
> > > > > self.paramstyle = db.paramstyle
> > > > > keywords['database'] = keywords.pop('db')
> > > > > self.dbname = "sqlite"
> > > > > DB.__init__(self, db, keywords)
>
> > > > > def _process_insert_query(self, query, tablename, seqname):
> > > > > return query, SQLQuery('SELECT last_insert_rowid();')
>
> > > > > def query(self, *a, **kw):
> > > > > out = DB.query(self, *a, **kw)
> > > > > if isinstance(out, iterbetter):
> > > > > # rowcount is not provided by sqlite
> > > > > del out.__len__
> > > > > return out
>
> > > > > # as with PostgresDB, the database is assumed to be in UTF-8.
> > > > > # This doesn't mean we turn byte-strings coming out of it into
> > > > > # Unicode objects, but we avoid trying to put Unicode objects into
> > > > > # it.
> > > > > encoding = 'UTF-8'
>
> > > > > def _py2sql(self, val):
> > > > > r"""
> > > > > Work around a couple of problems in SQLite that maybe pysqlite
> > > > > should take care of: give it True and False and it thinks
> > > > > they're column names; give it Unicode and it tries to insert
> > > > > it in, possibly, ASCII.
>
> > > > > >>> meth = SqliteDB(db='nonexistent')._py2sql
> > > > > >>> [meth(x) for x in [True, False, 1, 2, 'foo', u'souffl
> > > > > \xe9']]
> > > > > [1, 0, 1, 2, 'foo', 'souffl\xc3\xa9']
>
> > > > > """
> > > > > if val is True: return 1
> > > > > elif val is False: return 0
> > > > > elif isinstance(val, unicode): return val.encode
> > > > > (self.encoding)
> > > > > else: return val
>
> > > > > ...But using GQL. I think this would be a tremendous innovation for
> > > > > webpy. Right now, anyone building for App Engine has to deeply
> > > > > integrate their code with their proprietary system of queries. Imagine
> > > > > if webpy was known as the easiest and simplest framework to use with
> > > > > GAE, and thens hould you choose--to stop using with GAE.
>
> > > > > -Alan
>
> > > > > On Dec 28, 11:13 am, leone <[email protected]> wrote:
>
> > > > > > I am interested, but I have not found any web-service about Google
> > > > > > Big
> > > > > > Table.
> > > > > > I suppose you must write a GAE application, deploy on Google servers
> > > > > > and run it as
> > > > > > a RESTful interface to your webpy application.
>
> > > > > > On Dec 28, 6:05 am, adelevie <[email protected]> wrote:
>
> > > > > > > I am wondering if there is any interest in a database wrapper for
> > > > > > > Google App Engine. Such a wrapper would make it much easier to
> > > > > > > move a
> > > > > > > web.py app to google app engine--simply change the database
> > > > > > > parameters
> > > > > > > and write a few classes, as opposed to rewriting every single
> > > > > > > web.db
> > > > > > > query into app engine queries. This seems possible because GQL is
> > > > > > > essentially SQL. I have no experience with creating db backends,
> > > > > > > but
> > > > > > > I'd like to help in any way possible if others are also
> > > > > > > interested.
>
> > > > > > > -Alan
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web.py" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/webpy?hl=en
-~----------~----~----~----~------~----~------~--~---