xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
<root> / tests / sql.php (40fda8b638af1f3f088fba168aa92eea6c9ca780) (1,318B) (mode 100644) [raw]
<?php
error_reporting(E_ALL | E_STRICT);
ini_set("track_errors", "On");

$INC = "../inc";
require_once($INC . "/sql.inc.php");

echo "db: open connection...\n";
$db = rg_sql_open("dbname=trg");
if ($db === FALSE) {
	echo "Cannot create a database (" . rg_sql_error() . ")!\n";
	exit(1);
}

echo "db: drop 'test' table...\n";
$sql = "DROP TABLE IF EXISTS test";
$res = rg_sql_query($db, $sql);
if ($res === FALSE) {
	echo "Cannot create table 'test' (" . rg_sql_error() . ")!\n";
	exit(1);
}

echo "db: test creation of a table...\n";
$sql = "CREATE TABLE test (id TEXT PRIMARY KEY)";
$res = rg_sql_query($db, $sql);
if ($res === FALSE) {
	echo "Cannot create table 'test' (" . rg_sql_error() . ")!\n";
	exit(1);
}

echo "db: test insert...\n";
$sql = "INSERT INTO test (id) VALUES ('aaa')";
$res = rg_sql_query($db, $sql);
if ($res === FALSE) {
	echo "Cannot insert!\n";
	exit(1);
}

echo "db: test insert with the same key...\n";
$sql = "INSERT INTO test (id) VALUES ('aaa')";
$res = @rg_sql_query($db, $sql);
if ($res !== FALSE) {
	echo "I can do double insert!\n";
	exit(1);
}

echo "db: test delete...\n";
$sql = "DELETE FROM test WHERE id = 'aaa'";
$res = rg_sql_query($db, $sql);
if ($res === FALSE) {
	echo "Cannot delete!\n";
	exit(1);
}

// TODO: test rg_sql_last_id

rg_sql_close($db);

echo "db: OK!\n";
?>
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master