RdbmsInfo.lua
上传用户:cccombo
上传日期:2021-01-31
资源大小:16445k
文件大小:5k
源码类别:

MySQL数据库

开发平台:

SQL

  1. -- ----------------------------------------------------------------------------------------
  2. -- Copyright (C) 2004 MySQL AB
  3. --
  4. -- This program is free software; you can redistribute it and/or modify
  5. -- it under the terms of the GNU General Public License as published by
  6. -- the Free Software Foundation; either version 2 of the License, or
  7. -- (at your option) any later version.
  8. --
  9. -- This program is distributed in the hope that it will be useful,
  10. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. -- GNU General Public License for more details.
  13. --
  14. -- You should have received a copy of the GNU General Public License
  15. -- along with this program; if not, write to the Free Software
  16. -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17. -- ----------------------------------------------------------------------------------------
  18. -- ----------------------------------------------------------------------------------------
  19. -- @file RdbmsInfo.lua
  20. -- @brief Module that contains functionality for database management
  21. -- ----------------------------------------------------------------------------------------
  22. -- ----------------------------------------------------------------------------------------
  23. -- @brief Returns the information about this module
  24. --
  25. --   Every Grt module has to implement this function to return information about the 
  26. -- module. Note that new functions that should be exposed to the Grt have to be listed 
  27. -- here. Function that are not exposed should start with a underscore.
  28. --
  29. -- @return A dict that contains the name and the function names of the module
  30. -- ----------------------------------------------------------------------------------------
  31. function getModuleInfo()
  32.   local moduleInfo= 
  33.     {
  34.       name= "RdbmsInfo", 
  35.       functions= {
  36.         "getRdbmsInfo::"
  37.       }, 
  38.       extends= ""
  39.     }
  40.   return moduleInfo
  41. end
  42. -- ----------------------------------------------------------------------------------------
  43. -- @brief Function to get information about a rdbms
  44. --
  45. --   Returns a db.mgmt.Rdbms struct with infos about the rdbms
  46. -- 
  47. -- @return a new created db.mgmt.Rdbms GRT value struct 
  48. -- ----------------------------------------------------------------------------------------
  49. function getRdbmsInfo(args)
  50.   return grt.error("A specific implementation has to called.")
  51. end
  52. -- ----------------------------------------------------------------------------------------
  53. -- @brief Returns a new created driver parameter
  54. --
  55. --   Helper function to create a new driver parameter
  56. --
  57. -- @param owner the owner GRT value (the driver)
  58. -- @param name the name of the parameter (username, password, port, host, ...)
  59. -- @param caption the caption of the parameter
  60. -- @param desc the description
  61. -- @param paramType the type of the param (can be "string", "int", "file")
  62. -- @param row the layout row in which to create the widget for this parameter
  63. -- @param width the width of the widget
  64. -- @param defaultValue the default value or "" if there is no default value
  65. -- @param layoutAdvanced if this is set to 1 the parameter is listed in the advanced section
  66. -- @param required if this is set to 1 the parameter must be set before the user can continue
  67. -- 
  68. -- @return a new created GRT value of struct "db.mgmt.DriverParameter"
  69. -- ----------------------------------------------------------------------------------------
  70. function getDriverParameter(owner, name, caption, desc, paramType,
  71.   row, width, defaultValue, layoutAdvanced, required)
  72.   local param= grtV.newObj("db.mgmt.DriverParameter", name, grt.newGuid(), grtV.toLua(owner._id))
  73.   param.caption= caption
  74.   param.description= desc
  75.   param.paramType= paramType
  76.   param.defaultValue= defaultValue
  77.   param.layoutAdvanced= 0
  78.   param.layoutRow= row
  79.   param.layoutWidth= width
  80.   param.layoutAdvanced= layoutAdvanced
  81.   param.required= required
  82.   return param
  83. end
  84. -- ----------------------------------------------------------------------------------------
  85. -- @brief Adds default driver parameter to the driver parameter list
  86. --
  87. --   Helper function to add the default parameters host, port, username, password to
  88. -- the given driver parameter list
  89. --
  90. -- @param owner the owner GRT value (the driver)
  91. -- @param params the parameter list GRT value
  92. -- @param startRow in which row the default parameter should begin (set to 2 to allow
  93. --   another parameter to be in the first line)
  94. -- @param defaultPort the default port number
  95. -- ----------------------------------------------------------------------------------------
  96. function addDriverParamDefaults(owner, params, startRow, defaultPort)
  97.   grtV.insert(params, getDriverParameter(owner, "host", "Hostname:", 
  98.     "Name or IP address of the server machine", "string", startRow, 118, "", 0, 1))
  99.   grtV.insert(params, getDriverParameter(owner, "port", "Port:", 
  100.     "TCP/IP port", "int", startRow, 46, defaultPort, 0, 1))
  101.   grtV.insert(params, getDriverParameter(owner, "username", "Username:", 
  102.     "Name of the user to connect with.", "string", startRow + 1, 218, "", 0, 1))
  103.   grtV.insert(params, getDriverParameter(owner, "password", "Password:", 
  104.     "The user's password.", "password", startRow + 2, 218, "", 0, 0))
  105. end