HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
dbi_sql_test.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 
3 #from dbi.dbi import DBI
4 #from dbi.dbi import db
5 #from dbi.DBI import db
6 #import dbi.dbi as row_dbi
7 from flask import Flask
8 from flask.ext.sqlalchemy import SQLAlchemy
9 from sqlalchemy.sql import select
10 from sqlalchemy import delete
11 import sqlalchemy
12 from sqlalchemy.engine.reflection import Inspector
13 from sqlalchemy import create_engine, MetaData, Table
14 from sqlalchemy import schema, types
15 from sqlalchemy.pool import StaticPool
16 from sqlalchemy.pool import SingletonThreadPool
17 app = Flask(__name__)
18 db = SQLAlchemy(app)
19 
20 class TestObj(db.Model):
21  tid = db.Column(db.Integer, primary_key=True)
22  id = db.Column(db.Integer, unique=True, autoincrement=False, index=True)
23  val = db.Column(db.Integer, index=True)
24 
25 
26 def process():
27  app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///:memory:"
28  db.create_all()
29 
30  obj1 = TestObj()
31  obj1.id = 1
32  obj1.val = 10
33 
34  obj2 = TestObj()
35  obj2.id = 2
36  obj2.val = 20
37 
38  db.session.add(obj1)
39  db.session.add(obj2)
40  db.session.commit()
41 
42  #taskInSlotNumber = len(row_dbi.db.session.query(type(TestObj)).filter_by(rTime<rightBorderMs, state=PLANED).all())
43 
44  from sqlalchemy import func
45  num = db.session.query(TestObj.val).group_by(TestObj.val).having(func.count(TestObj.val) < 9).all()
46  print num
47 
48 if __name__ == "__main__":
49  process()