abstract class Parser

This class allows you to store and retrieve data from files in JSON format using SQL standard.

  • The data are described by a json schema in compliance with the spécifications of http://json-schema.org
  • This schema can be generated on this site: http://jsonschema.net

  • The API is very similar to PDO

  • The JSON schema is saved in a file whose name is in the form .schema.json

  • The data is saved in a file whose name is in the form .json

Constants

SQL_SELECT_KEYWORD

SQL_FROM_KEYWORD

SQL_WHERE_KEYWORD

SQL_ORDER_BY_KEYWORD

SQL_LIMIT_KEYWORD

SQL_OFFSET_KEYWORD

SQL_UPDATE_KEYWORD

SQL_CREATE_KEYWORD

SQL_DELETE_KEYWORD

Properties

protected JsonSQL $jsonsql A pointer on the JsonSQL owner.
protected Engine $engine A pointer on JSON database engine.
protected string $sql The sql request.

Methods

void
__construct(JsonSQL $jsonsql, string $sql)

Constructor of class Parser

static Parser
create(JsonSQL $jsonsql, $sql)

Parser factory.

object
parse()

Parses the sql statement.

object
parseSelect(string $sql)

Parses a sql select request

object
parseSetOperations(string $sql)

Parses a sql compound select request containing set operations

object
parseInsert(string $sql)

Parses a sql insert into statement

object
parseUpdate(string $sql)

Parses a sql update statement

object
parseDelete(string $sql)

Parses a sql delete from statement

object
parseCreate(string $sql)

Parses a sql create table statement

object
parseAlter(string $sql)

Parses a sql alter table statement according to this two BNF syntax :

object
parseTruncate(string $sql)

Parses a sql truncate table statement

object
parseDropTable(string $sql)

Parses a sql drop table statement

Details

at line 123
protected void __construct(JsonSQL $jsonsql, string $sql)

Constructor of class Parser

Parameters

JsonSQL $jsonsql The JsonSQL instance
string $sql The sql request

Return Value

void

at line 138
static Parser create(JsonSQL $jsonsql, $sql)

Parser factory.

Parameters

JsonSQL $jsonsql
$sql

Return Value

Parser The parsed request

Exceptions

JsonSQLException

at line 169
object parse()

Parses the sql statement.

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 199
abstract protected object parseSelect(string $sql)

Parses a sql select request

Parameters

string $sql The select statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 209
abstract protected object parseSetOperations(string $sql)

Parses a sql compound select request containing set operations

Parameters

string $sql The select statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 219
abstract protected object parseInsert(string $sql)

Parses a sql insert into statement

Parameters

string $sql The insert into statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 229
abstract protected object parseUpdate(string $sql)

Parses a sql update statement

Parameters

string $sql The update statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 239
abstract protected object parseDelete(string $sql)

Parses a sql delete from statement

Parameters

string $sql The delete from statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 249
abstract protected object parseCreate(string $sql)

Parses a sql create table statement

Parameters

string $sql The create table statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 259
abstract protected object parseAlter(string $sql)

Parses a sql alter table statement according to this two BNF syntax :

Parameters

string $sql The create alter statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 269
abstract protected object parseTruncate(string $sql)

Parses a sql truncate table statement

Parameters

string $sql The truncate table statement

Return Value

object The parsed request

Exceptions

JsonSQLException

at line 279
abstract protected object parseDropTable(string $sql)

Parses a sql drop table statement

Parameters

string $sql The drop table statement

Return Value

object The parsed request

Exceptions

JsonSQLException