AlaSQL / alasql

AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel.
http://alasql.org
MIT License
7.04k stars 659 forks source link

Fetures to be removed from AlaSQL core #283

Open agershun opened 9 years ago

agershun commented 9 years ago

We can create a list of features to be removed for the AlaSQL core to minimize the sze:

mathiasrw commented 9 years ago

I feel like the Excel features could be a plugin that you use if you need it

agershun commented 9 years ago

We need to be accurate with Excel. According GitHub stats many people come to AlaSQL from StackOverflow because examples with import/export to Excel. Anyway, we need to move to plugin direction.

mathiasrw commented 9 years ago

God point.

idea:

What about having most things as plugins, but pre compile commonly used stuff into the "main" alasql.js - By that alasql.js was a preselected mix of alasql-core.js plus alasql-pluginx.js, alasql-pluginy.js, alasql-pluginz.js

And if size is important one can download/link to a custom set of core + plugins.

Question: would the alaSQL parser itself even be a plugin?

agershun commented 9 years ago

We can maintain and test three versions:

mathiasrw commented 9 years ago

Good point.

Is "tiny" a good word to use? it does not describe so much. I have a feeling a word like "skeleton", "bone", "glue", "center", "connector", "stripped" or something like that would be more communicative.

If you feel "tiny" is best we go with that...

agershun commented 9 years ago

Yes, 'tiny' is not the best name. Other variants:

mathiasrw commented 9 years ago

I really like alasql.engine.js

Specially thinking about whats left in that code: all the functions to store and select data. Its basically our pure database engine (without a parser to interact with it)

agershun commented 9 years ago

Let it be so!

Отправлено с iPhone

9 июня 2015 г., в 20:02, Mathias Rangel Wulff notifications@github.com написал(а):

I really like alasql.engine.js

— Reply to this email directly or view it on GitHub.

mathiasrw commented 9 years ago

I imagine we structure the src different with a more modular approach.

Let me know if you start rearranging files - so I can stop editing them...

agershun commented 9 years ago

Not now. I will finish PIVOT thing in two days, before that I will not push commits.

What structure for src is optimal in this case?

For example:

Do you have other variants?

mathiasrw commented 9 years ago

Looks good! Was thinking having all plugins as its own folder in same level as engine and worker

agershun commented 9 years ago

Ok, it is easy. So, we just add three folders for engine, core, and worker... BTW we do not need to have separate directory for engine/core, but rather let's create directory for parser.

So, now it will be: src/

`Please, do not change this structure until I merge the PIVOT changes. I will notify you, when we can start.

mathiasrw commented 9 years ago

Thinking: the engine must be in a folder called engine - and it becomes "core" when we merge it with parser?

agershun commented 9 years ago

Ok. This will focus us more on the 'enginess' of this part of the library

Отправлено с iPhone

10 июня 2015 г., в 9:41, Mathias Rangel Wulff notifications@github.com написал(а):

Thinking: the engine must be in a folder called engine - and it becomes "core" when we merge it with parser?

— Reply to this email directly or view it on GitHub.

gregaubert commented 9 years ago

It seems there will be a lot of plugins, wouldn't it be better for put them all in a src/plugins folder like your first idea ? I feel like if everything is directly in src it won't be clear that these are all plugins, and the alasql heart will be lost in the plugins jungle.

agershun commented 9 years ago

May be we separate them by types: