Nuevo ADORDD

Re: Nuevo ADORDD

Postby AHF » Wed Oct 28, 2015 7:54 pm

Nueva ADORDD acumulación ver 1.0 en https://github.com/AHFERREIRA/adordd.git

Google translator:

Cambios:

Por último, parece que nos las arreglamos para aumentar drásticamente los tiempos de apertura de enormes tablas y mucho mejor uso de la memoria.

1) Nueva SET ADO PRE OPEN THRESHOLD TO nRecords

Este conjunto será definir cómo ADORDD abrirá las mesas durante el tiempo de aplicación de ejecución.

Todas las tablas con registros de igual o mayor que nRecords y sin ninguna cláusula de apertura DONDE
estará abierta durante toda la aplicación de inicialización.

Usted tendrá que esperar un poco para la aplicación para empezar, pero después de todo, la apertura de mesa que va a ser muy rápido.
Esto consume mucha memoria en el arranque pero menos durante el tiempo de aplicación de ejecución.

Usted debe equilibrarse el valor de nRecords en consecuencia a la vez que está dispuesto a esperar para abrir
una mesa y su disponibilidad de memoria.
Es muy fácil abrir un par de mesas> 500.000 recs a utilizar algunos gigas de memoria.

Incluso sin esta SET ADORDD sólo se llevará algún tiempo la apertura de una mesa si no es abrir ya
de lo contrario será muy rápido.

ADORDD su ahora muy rápido y puede ser verdad en comparación con cualquier otro tipo de dbfcdx rdd.

He hecho algunas pruebas y parece estar funcionando bien. Por favor verifique en ustedes mismos y volver.

2) Limpieza Código

3) Compilar mejoría con Harbour / xHarbour con o sin FiveWin.

4) 01_readme.pdf nueva información SET.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Thu Oct 29, 2015 10:56 am

Nueva ADORDD acumulación ver 1.0 en https://github.com/AHFERREIRA/adordd.git

Cambios:

1) los índices de errores creando estaba buscando nombre de índice con = en vez de == regresan nombre y expresión a veces mal.
Esto ha sido interrumpido al codificar las UDF en índices.

2) Nueva #ifef compilar con Harbour y xHarbour
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Tue Nov 10, 2015 10:16 pm

Nueva ADORDD acumulación ver 1.0 en https://github.com/AHFERREIRA/adordd.git

GOOGLE TRANSLATOR:

Errores corregidos:
   Índices con UDF.
   Bloqueo matriz lista
   DBEVAL
   Any: requery llama llamada automática ordsetfocus () para actualizar los índices.

Cambios:

1) ADO_CREATE
Secuencias y disparadores Corregido para Oracle y Firebird

2) RAÍZ SET ADO CAMINO A ... en lugar de ...
Esto le permitirá subir las tablas con cierta estructura de ruta y luego ejecutar la aplicación con
un camino diferente.
Si los nombres de tablas son con el camino en este conjunto y sin la aplicación no funcionaría.

3) SET ADO TABLAS campos lógicos lista para
Este conjunto de matriz se {{Tablename1, {campo1 Boole, booleanfield2, ...}} ,;
                    {TableName2, .....}}
Identificar campos booleanos para los motores que no tienen tipo booleano como Oracle, Firebird,
SQLite y otros.
En estos casos no hay manera de saber si un campo es booleano, por tanto, tenemos que este conjunto de
dejar que ADORDD conocer los campos booleanos presentes en cada mesa.

Con el fin de evitar el trabajo extra Al cargar tablas sólo de la familia dbfcdx de ADORDD DDR
se construye la matriz interna, porque a través del rdd dbfcdx se sabe si un campo es booleano, con el fin
que el proceso de carga no errores.
Al mismo tiempo ADORDD escribe toda esta información en un .ado archivo para que pueda tener la relación de todos
tablas y campos booleanos que se debe colocar en esta aplicación próxima vez establecido corre de lo contrario los resultados
son impredecibles. EL ARCHIVO "BOOELANFIELDS.ADO" ESTÁ EN APP START PATH.

Al crear nuevas tablas, no temporal, debe informar a ADORDD través de este conjunto de los campos de Boole.
Con las tablas temporales que no es necesario porque en el del ADORDD creación mantiene un registro de tipo booleano
campos, pero sólo durante el tiempo de ejecución de la aplicación.

Si está trabajando con motores que tienen campo de tipo booleano es posible que se olvide de este conjunto.

4) ADORDD probó muy bien con sqlite y firebird además MsSql, MySql, Access, ADS, FoxPro, dBase.
Debería funcionar sin problemas, pero no probado con Sybase tipo de servidores SQL Server, Informix, PostGreSQL.
Probablemente Oracle también pero Ill comprobarlo pronto.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Fri Nov 13, 2015 9:01 pm

Nueva ADORDD acumulación ver 1.0 en https://github.com/AHFERREIRA/adordd.git

google translator:

Errores corregidos:

Campos lógicos de inicialización matriz.
las relaciones de ámbito Scopes no quitaban relación al claro.
Vars EOF y BOF no estaban siendo restablecer correctamente por gotop y gobottom.

Cambios:

1) TABLAS Nueva SET ADO DECIMAL FIELDS LIST TO ....
Algunos motores como Access y SqlLite no tienen específicamente campos con notación decimal.
En estos casos, no cumplía con 2 decimales, donde podría ser más.
Si la aplicación que imaginar la obtiene con la función fielddec el nr de decimales lugares que se podía entrar
era sólo el 2, aunque podría ser más.
Con este conjunto dejamos ADORDD conoce el nr de decimales lugares por mesa y de campo.
Al subir las tablas que se hace auto por ADORDD como para los campos lógicos.
Si usted trabaja con un motor que soporta la notación de decimales por campo podría olvidar este conjunto.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Mon Nov 16, 2015 3:11 pm

Nueva ADORDD acumulación ver 1.0 en https://github.com/AHFERREIRA/adordd.git

google translator:

Errores corregidos:

DBCREATE si existe mesa sólo puede sobrescribir la que como en cualquier otra rdd. Se estaba dando un error.

hb_AdoRddFile (cFichero) si rddsetdefault == "ADORDD" que probar si el archivo existe en el PP
de lo contrario, pasa al archivo normal () function.So se puede utilizar para todos los casos, con o sin ADORDD.

Cuando SET ADO DATABASE TO ... no puede abrir la conexión en lugar de aplicación chihuahuenses que tirar de error 10500.

Cambios:

SET ADO PRE OPEN THRESHOLD TO <nRecords> [MASK <AMASK>]
Añadido nuevo MASK opción que permite comprobar la validez de registros abiertos que contienen nRecords y con valor de máscara en el nombre de la tabla.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Fri Nov 20, 2015 12:58 pm

New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected bugs:

APPEND with SQLITE, FIREBIRD, POSTGRE and ORACLE with index with UDF or condition was
adding the same bookmark twice.

ADO_REQUERY could fall into recursive calls after append new record using engines
Sqlite, FireBird Postgre and Oracle.

DBGOTO was giving error if the record was not within INDEX with UDF or condition.


Changes:

hb_AdoRddFile( cFile ) Check for index file in the adodbf index list... and support for Sqlite, Firebird, Oracle.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Thu Nov 26, 2015 5:47 pm

New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected Bugs:

1) FIELDNAME was not returning upper fieldname in case of db engine PostGre, Oracle

2) Some upper case conversions to take care of lower case fields used by PostGre and Oracle.

3) Reserved keywords used in fields taken care with PostGre and Oracle.

4) SET TRESHOLD was not finding aMask if used table and SQL were with different case. Now all upper case.

5) Pre opening of recorsets optimized and cached for different where clauses on same table.
If the table its below the SET THRESHOLD and its already opened in another work area the set its not created again but cloned from that work area.
If during app run time a table passes the SET THRESHOLD value its cached next time is opened.

Tested engines:

ACCESS
ADS
DBASE
FIREBIRD
FOXPRO
MS SQL
MYSQL
POSTGRE
SQLITE

Still not tested but should work ok:

ANYWHERE
INFORMIX
MARIADB
ORACLE
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Mon Dec 07, 2015 12:57 pm

New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

New:

1) SET ADODBF INDEX LIST FIELDTYPE NUMBER TO {{ "Table",{ "numfiled", nlen },{"numfield", nLen } } }
adordd need a precise indication of the len of numeric fields used in index expressions.
This is only needed for numeric fields where the SQL type its without field len definition such as:
AUTOINC, MONEY, DOUBLE, INT, SMALLINT, etc.

Corrected Bugs:

1) ADOBEGINTRANS( nWA ) : without work are it starts a transaction in default adordd connection otherwise
it starts in the connection of the current work area.

2) ADOROLLBACKTRANS( nWA ) : without any work area it rolls back all transactions in all open connections
otherwise it rolls back transaction in same connection as that work area.

3) ado_create was adding an extra position in field len of numeric fields
now ADO_FIELDSTRUCT takes that position returning the correct len of a field type "N"
This could lead to side effects in INDEXKEY where the numeric field was part of the expression.
No tables structure corrections are necessary.

4) ADPSEUDOSEEK works now ok with fields type "T"

5) ADODUFINDEX if result of the index expression its numeric its considered as it was a UDF expression
because we cant extract field len to build a find, filter or query expression because the eval result
its the sum of all the numeric fields in the expression.

6) ORDKEYGOTO was not full implemented.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Tue Dec 08, 2015 3:15 pm

New build adordd ver 1.0 at https://github.com/AHFERREIRA/adordd.git

Corrected new Bugs due to changes previous build:

1) ADO_SQLSTRU with firebird numeric fields precision fieldlen was wrong

2) ADO_FIELDSTRUCT integers doesnt take any extra position.

3) ADO_PUTVALUE trim spaces to check data width error with numbers.
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby AHF » Tue Mar 07, 2017 9:47 pm

(Google translator)
Nueva versión de AdoRdd 1.070317 en https://github.com/AHFERREIRA/adordd.git

Mejoras y errores corregidos:

ADO_ORDCREATE después de crear el índice no lo estaba abriendo.

ADO_SEEK clave con varios campos con softseek en iba a eof en lugar de última clave.

ADOFILE si la conexión no válida devuelve ahora. En lugar de HB_FAILURE.

ADOOPENCONNECT si el motor no está soportado o está mal configurado alerta al usuario.

ADOBEGINTRANS si el workarea no especificado abre las transacciones para cada conexión abierta
ADOCOMMITTRANS y ADOROLLBACKTRANS lo mismo que ADOBEGINTRANS

Nueva función ADONESTEDTRANS (nWA) devuelve nr de transacciones anidadas

NUEVO CÓDIGO DE ERROR 10600 - conexión no disponible no puede encontrar transacciones

ADO_ALREADYOPEN Prueba si el conjunto de registros abierto tiene la misma instrucción de consulta Sql.

ADORECCOUNT El nombre de tabla no se estaba convirtiendo para obtener fieldrecno si se definía
Para esa tabla siempre devolvió ese predeterminado.

REGISTRO DE APLICACIÓN DE APLICACIÓN Registros de conteo más rápidos. No almacena en caché ninguna tabla con la cláusula WHERE.

Todos los cursores ADO cambiaron en el código de adoptendynamic a adopenstatic, aunque siempre
Comenzó como adoptenstatic.


Nuevas características:

Nueva opción PORT en SET ADO DEFAULT DATABASE ...

ADO_ORDINFO ordwildseek implementado

Soporte de órdenes múltiples con nuevo SET:
SET ADODBF MULTIBAG INDICE LIST A {{"INDEX NAME", {TAGORDER 1 "," TAGORDER2 "}}}
Esto permite que el soporte de archivos de índices de bolsas múltiples sea exactamente igual que cualquier otro rdd de DBf.
ATENCIÓN
Ahora cuando SET AUTOOPEN ON no abre todos los archivos de índice automáticamente en SET ADODBF INDEX LIST
Sólo abre el NOMBRE DEL ÍNDICE presente en SET ADODBF MULTIBAG INDEX LIST TO que coincide con el nombre de la tabla.

Conjuntos de registros de apertura más rápidos:

SET RECORDSET OPEN WHERE CLAUSE A {{"TABLENAME", "SQL WHERE EXPRESSION"}}

ADOWHERECLAUSE ADORDD función que nos permite cambiar el conjunto de registros cláusula WHERE al vuelo manteniendo todos
Workarea como Filtros, Alcances, Índices, etc.

Ex

SET RECORDSET ABRIR DONDE CLAUSULA A {{"table", "FIELDANEMYEAR = '2017'"}}

USE tabla
BROWSE () // sólo los registros que cumplan la cláusula "where"
// queremos ver algunos datos históricos
COldQry: = ADOWHERECLAUSE (SELECT (), "FIELDANEMYEAR = '2012'")
browse()
// Volver al año actual
ADOWHERECLAUSE (SELECT (), cOldQry)
browse()
Regards
Antonio H Ferreira
AHF
 
Posts: 838
Joined: Fri Feb 10, 2006 12:14 pm

Re: Nuevo ADORDD

Postby ruben Dario » Mon May 15, 2017 3:15 pm

Saludos
Baje la ultima Version
Trato de compilar y me da este error Usando bcc71 y Harbour

\harbour\bin\harbour \v_xharb_v3\librerias\ADORDD\adordd.PRG /l /m /q /es2 /gc1 -D__EXPORT__ -D__HARBOUR__ /O.\obj1\ /I\harbour\include;\v_xharb_v3\include;\fwh\include -w0 > comp.log
\bcc71\bin\BCC32 -c -tWM -I\harbour\include -o.\obj1\adordd .\obj1\adordd.c
Embarcadero C++ 7.10 for Win32 Copyright (c) 1993-2015 Embarcadero Technologies, Inc.
.\obj1\adordd.c:
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 933: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 934: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 935: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 938: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 939: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 940: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 965: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 966: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 967: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 970: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 971: Declaration missing ;
Error E2139 k:\bcc71\include\windows\sdk\commdlg.h 972: Declaration missing ;
*** 12 errors in Compile ***
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 69 guests