This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Mackan90096's profile picture

Ccsql - Bringing Databases To Computercraft - Looking For Co-coders

Started by Mackan90096, 14 October 2013 - 03:02 AM
Mackan90096 #1
Posted 14 October 2013 - 05:02 AM
ccSQL


ccSQL Is a project that I'm working on. My idea is that it'll kinda work like mySQL, The reason that I'm posting about it so early, (Haven't really started working on it) is that I want your feedback, if it seems like a good idea etc.

The basic functions:
  • Save a database
  • Load database
  • Select specific rows based on query.
  • Custom tables with custom values like so:
Name | Password | email

test | a_pass | example@example.com

This will be released soon, if I get enough positive feedback.

Helpers:

Freack100
Vilsol

I'm looking for people that's willing to help me code this project.
If you are interested, please pm me or post a reply.
Shazz #2
Posted 14 October 2013 - 09:58 PM
Are you planning on replicating the whole SQL language? Because that is going to be a very long and painful task and would probably be very slow in Lua.
Maybe just a fast way of storing information in an organized manner and either functions to manipulate data or VERY basic SQL syntax.
Mackan90096 #3
Posted 15 October 2013 - 01:39 AM
Are you planning on replicating the whole SQL language? Because that is going to be a very long and painful task and would probably be very slow in Lua.
Maybe just a fast way of storing information in an organized manner and either functions to manipulate data or VERY basic SQL syntax.

Yes, I'm just going to make a fast and organized way of storing data.
oeed #4
Posted 15 October 2013 - 02:10 AM
Will it take the input as a query string, e.g. "ccsql('SELECT * FROM table')" or will it be function based, e.g. "ccsql.select('*', 'table')"?

Just something to consider, the latter would probably be easier to make, but isn't very SQL-esque if you know what I mean.
Wojbie #5
Posted 15 October 2013 - 02:20 AM
Well latter would be more secure. In first situation would have same security flaws like SQL :D/>
theoriginalbit #6
Posted 15 October 2013 - 02:21 AM
In first situation would have same security flaws like SQL :D/>
………Prepared statements………
Wojbie #7
Posted 15 October 2013 - 02:26 AM
………Prepared statements………
Sadly is not used by most of idiots i had misfortune of working with. :(/>
Mackan90096 #8
Posted 15 October 2013 - 04:21 AM
Will it take the input as a query string, e.g. "ccsql('SELECT * FROM table')" or will it be function based, e.g. "ccsql.select('*', 'table')"?

Just something to consider, the latter would probably be easier to make, but isn't very SQL-esque if you know what I mean.

The idea I have in mind is that it'll work kinda like an API,
like, ccsql.select(what,dbname,equals)

What is what to select, dbname is the database name, (from where to select) and equals is what the thing to select is.

This will then return a variable thats true or false, depending on it being found.
And some variables for the values that's found.

If this seems unclear, I'm sorry.
distantcam #9
Posted 15 October 2013 - 04:49 AM
Why not make a document database instead of a relational one?

Would be easier to implement (don't need to deal with SQL) and easier to work with for end users.
Mackan90096 #10
Posted 15 October 2013 - 04:51 AM
Why not make a document database instead of a relational one?

Would be easier to implement (don't need to deal with SQL) and easier to work with for end users.

What?
distantcam #11
Posted 15 October 2013 - 04:57 AM
http://en.wikipedia....iented_database

A document-oriented database is a computer program designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data. Document-oriented databases are one of the main categories of so-called NoSQL databases and the popularity of the term "document-oriented database" (or "document store") has grown[citation needed] with the use of the term NoSQL itself. In contrast to well-knownrelational databases and their notions of "Relations" (or "Tables"), these systems are designed around an abstract notion of a "Document".
ElvishJerricco #12
Posted 15 October 2013 - 05:14 AM
The thing about SQL is that the server doesn't have to be on the computer accessing the data. Often times there's application servers that send queries over the network to database servers to get data. It'd be nice if that's how this were to work.
distantcam #13
Posted 15 October 2013 - 05:19 AM
The thing about SQL is that the server doesn't have to be on the computer accessing the data. Often times there's application servers that send queries over the network to database servers to get data. It'd be nice if that's how this were to work.

That makes me think of another question.

Does the database exist in minecraft (as in the SQL server is a computer in minecraft) or does it exist in the real world and computercraft computers can access it?
Mackan90096 #14
Posted 16 October 2013 - 03:10 AM
That makes me think of another question.

Does the database exist in minecraft (as in the SQL server is a computer in minecraft) or does it exist in the real world and computercraft computers can access it?

As of now, its only a client side.
But, server side will be worked on after the release.
leonardi #15
Posted 16 October 2013 - 10:05 PM
Think the whole server side thing is a little ambitious, Especially for a project like this that lacks any real vision.

You know what you want to make, but have not idea of how you are going to approach the problem.

I think the easiest thing to make is a database structure that stores data from each row in a seperate file.
that way you can store the data when the computer is shut off.
And with a simple loop you can store your data back into a table.

Once you have any real concrete plans for this project I might be interested in helping out.

- Leo
tuogex #16
Posted 16 October 2013 - 11:17 PM
How is security going to be with a database being remotely queried on a network where all computers are accessible?
LayZee #17
Posted 17 October 2013 - 01:47 PM
How about an API that connects to a real life web service, behind which there's a real life SQL server?
Mackan90096 #18
Posted 19 October 2013 - 03:53 PM
How about an API that connects to a real life web service, behind which there's a real life SQL server?

There's actually already such a thing.