PHP Classes

File: test/python/test3.py

Recommend this page to a friend!
  Packages of Nikos M.   Dialect PHP SQL Query Builder   test/python/test3.py   Download  
File: test/python/test3.py
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Dialect PHP SQL Query Builder
Build SQL queries from templates
Author: By
Last change: v.1.4.0 contd

* support default values in sql_function, sql_type
* more standard and versatile sql types supported
* add JSON sql type
Date: 6 months ago
Size: 2,207 bytes
 

Contents

Class file image Download
#!/usr/bin/env python import os, sys import pprint def import_module(name, path): #import imp #try: # mod_fp, mod_path, mod_desc = imp.find_module(name, [path]) # mod = getattr( imp.load_module(name, mod_fp, mod_path, mod_desc), name ) #except ImportError as exc: # mod = None # sys.stderr.write("Error: failed to import module ({})".format(exc)) #finally: # if mod_fp: mod_fp.close() #return mod import importlib.util, sys spec = importlib.util.spec_from_file_location(name, path+name+'.py') mod = importlib.util.module_from_spec(spec) sys.modules[name] = mod spec.loader.exec_module(mod) return getattr(mod, name) # import the Dialect.py engine (as a) module, probably you will want to place this in another dir/package Dialect = import_module('Dialect', os.path.join(os.path.dirname(__file__), '../../src/python/')) if not Dialect: print ('Could not load the Dialect Module') sys.exit(1) else: pass def echo(s = ''): print (s) echo('Dialect.VERSION = ' + Dialect.VERSION) echo( ) dialect = Dialect('sqlite') query = dialect.clear().Select().Order(dialect.sql_function('random')).From('table AS main').sql( ) quoted_id = dialect.quote_name('trick"ier') quoted_lit = dialect.quote('trick\'\\ier') query2 = dialect.clear().Select(quoted_id+' AS trickier, "trick\'y" AS tricky').From('table').sql() query3 = dialect.clear().Select().From('table').Where({'id':{'in':dialect.subquery().Select('id').From('anothertable').sql(),'type':'raw'}}).sql() query4 = ''.join([ dialect.clear().Insert('table',['col1','col2']).sql(), dialect.clear().Select('col1,col2').From('anothertable').Where({'id':1}).sql() ]) query5 = dialect.clear().Select('anothertable.col1,anothertable.col2,dynamictable.*').From(['anothertable','('+ dialect.subquery().Select(quoted_id).From('table').Where({'col4':{'like':'foo'}}).sql()+ ') AS dynamictable']).Where({'id':1}).sql() echo( 'SQL dialect = ' + dialect.type ) echo( ) echo( query ) echo( ) echo( quoted_id ) echo( ) echo( quoted_lit ) echo( ) echo( query2 ) echo( ) echo( query3 ) echo( ) echo( query4 ) echo( ) echo( query5 )