Giter Club home page Giter Club logo

helenedb's People

Contributors

jose-gilberto avatar

Stargazers

 avatar

Watchers

 avatar  avatar

helenedb's Issues

Problems with queries ending with number + ;

Lexical analyzer triggers the pointer to undefined if the character followed by a number is a semicolon at the end of a string.
Ex.:

SELECT table.id FROM table WHERE table.id = 1;

Numbers and Identifiers before the char ;

A lexical analyzer, or tokenizer, trigger a stack overflow error with an inline query that ends with a literal (number, text or date) or an identifier before the ;
Example:

SELECT table.id FROM table;

The table; trigger a stack overflow error.

Review Lexer

Review the lexer step. Refactor them and improve new features.

Functions:

  • read a string stream
  • generate a lexer stream
  • token classification
  • improve lexical errors

Refactor:

  • optimize lexer operations
  • col and row count support
  • lexical errors messages
  • docstrings on code
  • use buffering tools

v0.1.3: Support column projection

Projeções

Ex.: SELECT column1, ... FROM table

  • Sem funções (MAX(), AVG())
  • Sem operações (1+1)

Implementação

  • Implementar e possibilitar a seleção de colunas nas tabelas

Alterações

  • Parser: suportar a gramática para multiplas colunas

v0.1.2: Implement new statement

Features

  • Implementar reconhecimento do comando DROP TABLE <table-name>;

Alterações

  • Alterar lexer para reconhecer os tokens:
DROP    TABLE
  • Alterar o parser para reconhecer a nova gramática:
<statement> -> <create-stmt> | <select-stmt> | <insert-stmt> | <drop-stmt>
<drop-stmt> -> DROP TABLE <identifier> ;
<identifier> -> IDENTIFIER

Funcionamento

  • Exclui o arquivo da tabela no diretório do banco de dados.
  • Implementar futuramente funcionamento com páginas e esquemas (schemas).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.