Skip to main content

The chain of tools, that to make work with SQL easier

Project description

https://travis-ci.org/WebSQL/sdk.svg?branch=master https://coveralls.io/repos/WebSQL/sdk/badge.png?branch=master

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wsql_sdk-0.3.12.tar.gz (633.1 kB view details)

Uploaded Source

File details

Details for the file wsql_sdk-0.3.12.tar.gz.

File metadata

  • Download URL: wsql_sdk-0.3.12.tar.gz
  • Upload date:
  • Size: 633.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for wsql_sdk-0.3.12.tar.gz
Algorithm Hash digest
SHA256 301f366bedb942cea1a9a4d3029c80e41e6f8a6eb1d73d7b000e77e572ed5dbf
MD5 949f4b8ce85a4d4ea2655f91e876a8b8
BLAKE2b-256 ec003edd763a7b85fce86fbcb1cc5b99bccaf45c2ad959c8482abe88e3b3678f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page