This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
magik-demo:developer:class:core:queryspecialization [2013/08/23 15:12] alex [generateInput] |
magik-demo:developer:class:core:queryspecialization [2017/07/06 15:24] (current) |
||
---|---|---|---|
Line 115: | Line 115: | ||
---- | ---- | ||
- | + | ==== generateInput ==== | |
- | === generatePrologNotEnfFKs === | + | |
<code java> | <code java> | ||
- | public static java.util.ArrayList<java.lang.String> generatePrologNotEnfFKs (java.util.ArrayList<ForeignKey> fks) | + | public static java.lang.String generateInput (java.util.ArrayList<TCStatement> currentTCs, |
+ | Schema schema, | ||
+ | int maxQSpecSize) | ||
</code> | </code> | ||
- | Method that encodes in Prolog Foreign Keys not enforced | + | Method that encodes in Prolog currentSchema and TC-statements |
+ | |||
+ | **Parameters:** | ||
+ | * currentTCs - which data are complete, expressed in TC-statements | ||
+ | * schema - database schema (that contains finite domain constraints and foreign keys) | ||
+ | * maxQSpecSize - maximal number of atoms that Magik can add for calculating specialization queries | ||
+ | **Returns:** | ||
+ | * String that contains all the prolog code for the given schema and tc-statements | ||
---- | ---- | ||
Line 205: | Line 213: | ||
Method that creates the final Prolog string for the schema and tc-statements that MAGIK will visualize in the GUI. | Method that creates the final Prolog string for the schema and tc-statements that MAGIK will visualize in the GUI. | ||
+ | ---- | ||
+ | |||
+ | ==== readMeta ==== | ||
+ | |||
+ | <code java> | ||
+ | public static java.util.ArrayList<java.lang.String> generatePrologNotEnfFKs (java.util.ArrayList<ForeignKey> fks) | ||
+ | </code> | ||
+ | |||
+ | Method that reads the file with the program that runs the input generated (used in GUI) | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== generateQuery ==== | ||
+ | |||
+ | <code java> | ||
+ | public static java.lang.String generateQuery (Query query)</code> | ||
+ | |||
+ | Method that generate a part of the command used for call specialization algorithm | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== generateCommand ==== | ||
+ | |||
+ | <code java> | ||
+ | public static java.lang.String generateCommand (java.lang.String q4p, | ||
+ | int maximal) | ||
+ | </code> | ||
+ | Method that generate the command used for call specialization algorithm | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== parseQuerySpecializationsTUProlog ==== | ||
+ | |||
+ | <code java> | ||
+ | public static java.util.ArrayList<Query> parseQuerySpecializationsTuProlog (Query query, | ||
+ | Schema schema, | ||
+ | SolveInfo info) | ||
+ | throws ContextException, | ||
+ | NoSolutionException | ||
+ | </code> | ||
+ | |||
+ | Method that analyses the solutions given by Prolog and returns the list of the specialization (if there are) | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== getters and setters methods ==== | ||
+ | |||
+ | <code java> | ||
+ | public static java.lang.String getProlog_enconding() | ||
+ | public static void setProlog_enconding (java.lang.String prolog_enconding) | ||
+ | |||
+ | public static java.lang.String getQueryForProlog() | ||
+ | public static void setQueryForProlog(java.lang.String queryForProlog) | ||
+ | |||
+ | public static java.lang.String getMetaProlog() | ||
+ | public static void setMetaProlog(java.lang.String metaProlog) | ||
+ | |||
+ | public static java.lang.String getCommandQuery() | ||
+ | public static void setCommandQuery(java.lang.String commandQuery) | ||
+ | |||
+ | public static long getExecutionTime() | ||
+ | public static void setExecutionTime(long executionTime) | ||
+ | |||
+ | public static java.lang.String getEncodingGUI() | ||
+ | public static void setEncodingGUI(java.lang.String encodingGUI) | ||
+ | |||
+ | </code> |