The chain of tools, that to make work with SQL easier
Project description
The chain of tools that make work with SQL procedures easier.
Syntax
#include “<filename>” - include the specified filename, the absolute and relative urls supported.
#define name <value> - specify the value, that can be used as $name
#define name(arg1, …, argN) - the function, that can be used as $name(a1,…aN)
#undef name - undefine previously defined instruction
#if condition expression else alternative - conditional expressions
SELECT … ; – > array - hint, that informs about query returns more that one element
SELECT … ; – > object - hint, that informs about query returns exactly one element
COMMENT “returns union” - hint, to merge all objects from results sets to one
COMMENT “<table name> (<colum name column type>,…);” - hint, that allow to pass the list of arguments to procedure via temporary table
wsql-trans:
The extensions above native SQL.
supports:
macros
#define table_name "mytable"
select * from $table_name;
macro-functions
#define quote(a) "a"
select upper(quote(a));
conditions
#define a 1
#if a == 1
select * from t1;
#else
select * from t2;
#endif
includes
#include "common.sql"
wsql-codegen:
Generate the native code to work with SQL procedures. Now supports python3 native and aio. The C++ under development. Required WSQL.
Hints
SELECT … ; – > array - hint, that informs about query returns more that one element
SELECT … ; – > object - hint, that informs about query returns exactly one element
COMMENT “returns union” - hint, to merge all objects from results sets to one
COMMENT “<table name> (<colum name column type>,…);” - hint, that allow to pass the list of arguments to procedure via temporary table
SQL
CREATE PROCEDURE table1.insert (value VARCHAR(10))
BEGIN
INSERT INTO table1 (value) VALUES(value);
SELECT LAST_INSERT_ID() AS id;
END
Python3
@coroutine
def insert(connection, value=None):
"""
insert, table1
:param value: the value(VARCHAR(10), IN))
:return (id,)
"""
@coroutine
def __query(__connection):
__cursor = __connection.cursor()
try:
yield from __cursor.callproc(b"procedure4", (value,))
return (yield from __cursor.fetchall())[0]
finally:
yield from __cursor.close()
try:
return (yield from connection.execute(__query))
except Error as e:
raise handle_error(exceptions, e)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file wsql_sdk-0.2.4.tar.gz
.
File metadata
- Download URL: wsql_sdk-0.2.4.tar.gz
- Upload date:
- Size: 631.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e17cc0fa66b39b573552f2971ed2aace9f733b72ee5a2835a0be5223c85d67c |
|
MD5 | cbc4874095a3ee77b136ca9891cba059 |
|
BLAKE2b-256 | 0fdbde8642acbc1e318875e9d4c25f7b490118e94a036b56f63659209adbb327 |