aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/services/functionmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/services/functionmanager.cpp')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/services/functionmanager.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/functionmanager.cpp b/SQLiteStudio3/coreSQLiteStudio/services/functionmanager.cpp
new file mode 100644
index 0000000..10db318
--- /dev/null
+++ b/SQLiteStudio3/coreSQLiteStudio/services/functionmanager.cpp
@@ -0,0 +1,39 @@
+#include "services/functionmanager.h"
+
+FunctionManager::FunctionBase::FunctionBase()
+{
+}
+
+FunctionManager::FunctionBase::~FunctionBase()
+{
+}
+
+QString FunctionManager::FunctionBase::toString() const
+{
+ static const QString format = "%1(%2)";
+ QString args = undefinedArgs ? "..." : arguments.join(", ");
+ return format.arg(name).arg(args);
+}
+
+QString FunctionManager::FunctionBase::typeString(Type type)
+{
+ switch (type)
+ {
+ case ScriptFunction::SCALAR:
+ return "SCALAR";
+ case ScriptFunction::AGGREGATE:
+ return "AGGREGATE";
+ }
+ return QString::null;
+}
+
+FunctionManager::ScriptFunction::Type FunctionManager::FunctionBase::typeString(const QString& type)
+{
+ if (type == "SCALAR")
+ return ScriptFunction::SCALAR;
+
+ if (type == "AGGREGATE")
+ return ScriptFunction::AGGREGATE;
+
+ return ScriptFunction::SCALAR;
+}