> For the complete documentation index, see [llms.txt](https://ciusji.gitbook.io/guinsoo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ciusji.gitbook.io/guinsoo/support/faq.md).

# FAQ

## Index

* [Is this Database Engine Open Source?](#is-this-database-engine-open-source)
* [Is Commerical Support Available?](#is-commerical-support-available)
* [How to Create a New Database?](#how-to-create-a-new-database)
* [How to Connect to a Database?](#how-to-connect-to-a-database)
* [Where are the Database Files Stored?](#where-are-the-database-files-stored)
* [What is the Size Limit of a Database?](#what-is-the-size-limit-of-a-database)
* [My Query is Slow!](#my-query-is-slow)
* [Float is Double?](#float-is-double)

## Is this Database Engine Open Source?

YES!

It's free to use and distributed, and the source code is included. See also license.

## Is Commerical Support Available?

No, currently commercial support is not available.

## How to Create a New Database?

By default, a new database is automatically created if it does not yet exist when the embedded URL is used.

## How to Connect to a Database?

The database driver is **`org.guinsoo.Driver`**, and the database URL starts with **`jdbc:guinsoo:`**. To connect to a database using JDBC, use the following code:

```java
Connection conn = DriverManager.getConnection("jdbc:guinsoo:~/test", "ga", "");
```

## Where are the Database Files Stored?

When using database URLs like **`jdbc:guinsoo:~/tset`**, the database is stored in the user directory.&#x20;

## What is the Size Limit of a Database?

See Guinsoo Limits and Limitations.

## My Query is Slow!

Slow **`SELECT`** (or **`DELETE`**, **`UPDATE`**, **`MERGE`**) statement can have multiple reasons. Follow this checklist:

* Run **`ANALYZE`** (see documentation for details)
* Run the query with **`EXPLAIN`** and check if indexes are used
* If required, create additional indexes and try again using **`ANALYZE`** and **`EXPLAIN`**
* If it doesn't help please report the problem.

## Float is Double?

For a table defined as **`CREATE TABLE TSET(X FLOAT)`** the method **`ResultSet.getObject()`** returns a **`java.lang.Double`**, I expect it to return a **`java.lang.Float`**. What's wrong?

This is not a bug. According to the JDBC specification, the JDBC data type **`FLOAT`** is equivalent to **`DOUBLE`**, and both are mapped to **`java.lang.Double`**. See also [Mapping SQL and Java Types - 8.3.10 FLOAT](https://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html#1055162).

Use **`REAL`** or **`FLOAT(24)`** data type for **`java.lang.Float`** values.
