NAME

blx::xsdsql::schema_repository::sql::generic::table - a generic table class

SYNOPSIS

use blx::xsdsql::schema_repository::sql::generic::table

DESCRIPTION

this package is a class - instance it with the method new

VERSION

0.10.0

FUNCTIONS

this module defined the followed functions

new - constructor -

the construct is private, use the new constructor of a child class

_new - contructor

PARAMS:
    CATALOG_NAME	         - catalog of table
    SCHEMA_CODE          - schema code of table
    XSD_SEQ              - a XSD_SEQ start number
    XSD_TYPE             - xsd type - see XSD_TYPE_* constants
    CHOICE               - the table is associated to a choice
    MINOCCURS            - the table as a minoccurs
    MAXOCCURS            - the table as a maxoccurs
    PATH                 - a node path name
    TYPE                 - an internal node type
    NAME                 - a node name
    DEEP_LEVEL           - a deep level - the root has level 0
    INTERNAL_REFERENCE   - if true the table is an occurs of simple types
    MIXED                - is true if  the xsd:mixed attribute is true
    URI                  - a node URI
    VIEW_SQL_NAME        - the corresponding view name
    DEBUG                - set the debug mode
    TAG                  - set the caller for debug

get_columns - return an array of columns object

get_child_tables - return an array of child tables

get_sql_name - return the sql name

get_constraint_name - return a constraint name

the first argument must be the constant 'pk' (primary key)

get_pk_columns - return the primary key columns

is_type - return true if the table is associated to a xsd type

is_simple_type - return true if the table is associated to a xsd simple type

is_complex_type - return true if the table is associated to a xsd complex type

is_simple_content_type - return true if the table is associated to a xsd simple content type

is_group_type - return true if the table is associated to a xsd group type

is_choice - return true if the table is associated to a xsd choice

is_internal_reference - return true if the the table is an occurs of simple types

is_unpath - return true if the table is not associated to a path

get_xsd_seq - return the start xsd sequence

get_xsd_type - return the xsd type og the object - see the constants XSD_TYPE_*

get_min_occurs - return the min occurs of the table

get_max_occurs - return the max occurs of the table

get_path - return the xml path associated with table

get_name - return the table name

get_dictionary_data - return an hash of dictionary column name => value for the insert into dictionary

the first argument must be:
    TABLE_DICTIONARY - return data for table dictionary
    RELATION_DICTIONARY - return data for relation dictionary
    COLUMN_DICTIONARY - return data for column dictionary

get_deep_level - return the deep level - the root has level 0

get_parent_path - return the parent path if is_unpath is true

inc_xsd_seq - increment by 1 the value of attribute XSD_SEQ

add_columns

the arguments are a flag or columns
    value for flag is
            IGNORE_ALREADY_EXIST         - not add a column if the name is already exist in table otherwise is an error
            ACCEPT_DUPLICATE_PATH        - add the column if the path is already registered in table otherwise is an error
            NO_GENERATE_SEQUENCE        - not set the column sequence in columns
            NO_SET_TABLE_NAME             - not set the table name in columns
            NO_GENERATE_SQL_NAME        - not geneate colum sql name

reset_columns - reset the columns of the table

add_child_tables

the arguments are tables

delete_child_tables - delete child tables

the arguments are the positions index of the child tables

find_column_by_name - find a column

the 1^ param is the name (not the sql name) of the column

if the column exist return a column object otherwise undef

EXPORT

None by default.

EXPORT_OK

none

SEE ALSO

See blx::xsdsql::schema_repository::sql::generic::catalog, it's the base class

See blx:.xsdsql::generator for generate the schema of the database and blx::xsdsql::xsd_parser for parse a xsd file (schema file)

AUTHOR

lorenzo.bellotti, <pauseblx@gmail.com>

COPYRIGHT

Copyright (C) 2010 by lorenzo.bellotti

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html